printf输出自增自减
#include<stdio.h>#include<stdlib.h>
int main()
{
int i;
i=3;
printf("%d\t%d\t%d\t%d\n",++i,--i,i--,i++);
system("pause");
return 0;
}为何答案为3 2 3 3
而不是3 2 4 3
编译器不同结果不同,具体可以通过调试的方法查看代码执行过程 i=3
++i使i自加且自身的值为i的原值
i++ 使i自加且自身的值为i+1
感觉不大对,
给你一个建议,想要弄清楚到底是怎么回事,可以 ,分开输出在输出之前,先初始化一下i的值 秦晓彬 发表于 2014-5-7 12:28 static/image/common/back.gif
i=3
++i使i自加且自身的值为i的原值
i++ 使i自加且自身的值为i+1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
i=3;
printf("%d\t%d\t%d\t%d\n",++i,--i,i--,i++);
i=3;
printf("\n%d\n" ,++i);
i=3;
printf("%d\n" ,--i);
i=3;
printf("%d\n" ,i--);
i=3;
printf("%d\n" ,i++);
system("pause > nul");
return 0;
}
出现了问题;
前面我写反了,为什么第一个输出的不是4,而是3呢
页:
[1]