C语言printf问题
①请问为什么会出现这个问题。②以及当printf函数要输出一个带空字符的字符串时(是字符串本身就带空字符\0而不是字符串末尾的那个),如何让输出不中断在第一个空字符前。...
①请问为什么会出现这个问题。
②以及当printf函数要输出一个带空字符的字符串时(是字符串本身就带空字符\0而不是字符串末尾的那个),如何让输出不中断在第一个空字符前。 展开
②以及当printf函数要输出一个带空字符的字符串时(是字符串本身就带空字符\0而不是字符串末尾的那个),如何让输出不中断在第一个空字符前。 展开
4个回答
展开全部
追问
那请问为什么第一个i++反而是最后一个输出?第一个i++=3不应该是在第一个的时候就被输出了吗,也就是说,不应该是第一个数字为3吗?而且为什么中间的数字是7?
追答
不同编译器会有不同编译思路。
你用电的这个编译器,显然是允许在函数内进行+1操作,只要有++就进行+1操作然后输出结果,并且是优先计算所有+1操作后,再输出原参数值,i++优先于不进行任何计算的i,所以中间那个i才会显示为一般都认为奇怪的结果7!
实际上如果编程在printf里面用++操作的,一般都会被人打死。。因为同样c语言代码,拿到别处用不同编译软件,就会出现不同结果了。没有哪个是标准的,只能根据所用编译软件来确定。
展开全部
这里虽然能够输出,但是这是错误的用法
这里最好遵循一条语句里如果一个变量被使用多次,切莫使用++ - -
因为你无法控制编译器从那边开始编译,不同的编译器实现的方式不同,代码不具有可移植性
这里最好遵循一条语句里如果一个变量被使用多次,切莫使用++ - -
因为你无法控制编译器从那边开始编译,不同的编译器实现的方式不同,代码不具有可移植性
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题和图没关系吧
图的结果很出乎我的意料啊,看来还是学的不够啊
图的结果很出乎我的意料啊,看来还是学的不够啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询