小弟我运行出来的答案如何不对呢
我运行出来的答案怎么不对呢?
vs2013运行的
The raw value: i=8
++i=8
++i=8
--i=8
--i=8
请按任意键继续. . .
答案应该是
The raw value: i=8
++i=8
++i=7
--i=6
--i=7
还有
8
8
7
8
-7
-8
请按任意键继续. . .
应该是这个吧
8
7
7
8
-7
-8
这是怎么回事?
------解决思路----------------------
不确定操作,参看:http://bbs.****.net/topics/370153775
------解决思路----------------------
理论上的原因是,标准没有规定,编译器随便处理的。
------解决思路----------------------
返回的都是第一个i++
vs2013运行的
#include <stdio.h>
int main()
{
int i = 8;
printf("The raw value: i=%d\n", i);
printf("++i=%d\n++i=%d\n--i=%d\n--i=%d\n", ++i, ++i, --i, --i);
return 0;
}
The raw value: i=8
++i=8
++i=8
--i=8
--i=8
请按任意键继续. . .
答案应该是
The raw value: i=8
++i=8
++i=7
--i=6
--i=7
还有
#include<stdio.h>
int main()
{
int i = 8;
printf("%d\n%d\n%d\n%d\n%d\n%d\n",++i,--i,i++,i--,-i++,-i--);
}
8
8
7
8
-7
-8
请按任意键继续. . .
应该是这个吧
8
7
7
8
-7
-8
这是怎么回事?
------解决思路----------------------
不确定操作,参看:http://bbs.****.net/topics/370153775
------解决思路----------------------
理论上的原因是,标准没有规定,编译器随便处理的。
------解决思路----------------------
返回的都是第一个i++