外太空
2016-06-27 10:07
#include <stdio.h>
int main()
{
int a=100;
printf("%d\n",a++);
printf("%d\n",++a);
printf("%d\n",--a);
printf("%d\n",a--);
printf("%d\n",a+1);
printf("%d\n",a);
}
int a=8;
a++:先使用变量a(a=8),再做自增运算+1(a=9);
++a:先做自增运算+1(a=9),再使用变量a(a=9);
eg:
int a=7;
int b=a++ + ++a;//b=7+9
printf("%d %d\n",a,b);//9,16
int c=++a + a++;//c=10+10
printf("%d %d",a,c);//11,20
又是....你
printf("%d\n",a++); //先输出100 再自增,a=101,但输出值是100
printf("%d\n",++a); //上一行的a=101,先自增1变成102,然后输出就是102
printf("%d\n",--a); //上一行的a=102,先自减1变成101,然后输出为101
printf("%d\n",a--); //上一行的a=101,先输出101,自减1以后a=100
printf("%d\n",a+1); //上一行a=100,进行运算a+1=100+1=101=输出值
#include <stdio.h>
int main()
{
int a=100; //初始值是100
printf("%d\n",a++); //输出是100,a的值变成了101(因a++是先输出,后运算)
printf("%d\n",++a); //输出是102,a的值变成了102(因++a是先运算,后输出)
printf("%d\n",--a); //输出是101,a的值变成了101(原因同上)
printf("%d\n",a--); //输出是101,a的值变成了100 (原因同a++)
printf("%d\n",a+1); //输出的值是101,a的值没有改变,a是100(因要求输出的值是a+1=100+1=101,但是a并没有自增)
printf("%d\n",a); //输出的值是100,a的值也是100
}
第四行 a=100
第五行 a先输出再自加 输出是100,a=101
第六行 a先自加再输出 输出是102,a=102
第七行 a先自减再输出 输出是101,a=101
第八行 a先输出再自减 输出是101,a=100
第九行 a加1再输出 输出是101,a=100
第十行 a直接输出 输出是100,a=100
C语言入门
926207 学习 · 20797 问题
相似问题
回答 2
回答 2