关于一个小c的疑问

来源:百度知道 编辑:UC知道 时间:2024/06/01 01:35:05
main()
{
int j=5;
p=(++j)+(++j)+(++j);
printf(“%d”,p);
}

输出是22
这是怎么来的啊????

为什么.
为什么..
为什么...
我的系统输出的也是22...

当p=(++j);时是6.
当p=(++j)+(++j);时是14.
但到了p=(++j)+(++j)+(++j);时却时22...

这和编译器有关,我的VC++2005编译出来是24,我验证了一下

应该是24 j的值为8 8+8+8=24

当p=(++j)+((++j)+(++j))时,结果是24.
我觉得可能是编译器的问题。