帮我看一个C的基本函数吧,关于printf的
#include<stdio.h>
int main()
{
int y=0;
printf("%d,%d,%d\n",++y,y,y++);
printf("--------------\n");
y=0;
printf("%d\n",++y);
printf("%d\n",y);
printf("%d\n",y++);
return 0;
}
帮我解释一下结果:
2,2,0
--------------
1
1
1
尤其那个2,2,0不明白,它和下面有什么不一样?谢谢
[解决办法]
蛋疼。。。这个和编译器有关,要看各个编译器出栈,入栈的顺序、、、
[解决办法]
printf("%d,%d,%d\n",++y,y,y++);//这句会有歧义的,不同的编译对于怎样处理是有不同的...