C语言自增问题
#include<stdio.h>void main()
{
int j=5,q;
q=(++j)+(++j)+(++j);
printf("%d,%d",q,j);
}
以上C代码
j经过3次自增之后,值为8。所以q=8+8+8=24,可是在VC6中输出q的值却是22,这是为什么,求解。 木有人,呜呜~~~~ 呜呜呜~~~ 因为C语言标准本来就没有规定这种操蛋的写法结果是多少。。。所以不同的C编译器自然就会对这个写法有不同的执行方式。
我们要做的不是去分析各个编译器的执行流程,而是要避免自己写出这种代码。 编译器优化问题 要不用Devc++试试
页:
[1]