搞不懂,全是i++问题!
1.#include<stdio.h>
main()
{
int i=1,z;
z=--i||i++;
printf("%d %d",z,i);
}
2.
#include<stdio.h>
main()
{
int i=1,z;
z=i--||i++;
printf("%d %d",z,i);
}
3.#include<stdio.h>
main()
{
int i=1;
printf("%d %d",++i,i++);
}
4.(这道别人在论坛已经问过,但我还是不理解)
#include<stdio.h>
main()
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d %d %d %d",p,i,q,j);
}
我编了一次,输出结果是
第一道:0 1
第二道:1 0
第三道:3 1
第四道:15 8 22 8
各位大虾能给我一个详尽的解释吗?谢谢!!!
(道个歉:二楼的,抱歉,我第一次时把第一题的“--i”抄错成“i--”了,现在改回来了,我用的环境是Cygwin,我编了一次,这次没错了。)
[ 本帖最后由 越月 于 2009-11-22 23:40 编辑 ]