#include <stdio.h>
int main()
{
int i=0;
printf("%d\n",i);
printf("%d\n",i++);
printf("%d\n",i++);
printf("%d\n",++i);
printf("%d\n",i);
return 0;
}
答案
0
0
1
3
3
怎么来的啊
#include <stdio.h>
int main()
{
int i=0;
printf("%d\n",i);
printf("%d\n",i++);
printf("%d\n",i++);
printf("%d\n",++i);
printf("%d\n",i);
return 0;
}
答案
0
0
1
3
3
怎么来的啊
其实这里就一个知识点
i++是先取值后++,那么print(i++)的时候,如果i此时是0,会先打印0,打印完i变成1
++i是先加后取值,那么当执行print(++i)的时候,上一行打印i的值是1,打印完把它变成2,那么先+1再打印,它不是3吗
最后一行没有++了,直接打印,i还是3没有变