C语言新手求助 i++ 这个问题
如题,代码如下:#include <stdio.h>
void main()
{
int i = 5,j =5, p, q;
p = (i++)+(i++)+(i++);
q = (++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p, q, i, j);
}
为什么算出的结果是p=15,q=22啊,这个15和22到底是怎么算出来的呢,这个i没有重新赋值吗,想了老半天都想不通,求各位给个解释,先谢过了!
我只给你说一句话:printf函数的处理机制是自右向左的! 沉思者 发表于 2013-3-23 11:07 static/image/common/back.gif
我只给你说一句话:printf函数的处理机制是自右向左的!
那为什么q的值会为22呢,你能告诉我它是怎么赋值的吗? 我这有你篇文章,你看看吧~
看完之后你就会明白了!
++在前 和 ++ 在后不一样的。。。。 沉思者 发表于 2013-3-23 12:02 static/image/common/back.gif
我这有你篇文章,你看看吧~
看完之后你就会明白了!
好!谢谢前辈! 端坐霜天 发表于 2013-3-23 22:28 static/image/common/back.gif
好!谢谢前辈!
我不是什么前辈,也和你一样都是计算机的求学者!
页:
[1]