课程
/后端开发
/C
/C语言入门
printf("%d\n",a+1);
2015-09-17
源自:C语言入门 3-3
正在回答
int a=100;
printf("x=%d\n",a++); //输出值为100 , a的值为101
printf("x=%d\n",++a); //输出值为102 , a的值为102
printf("x=%d\n",--a); //输出值为101 , a的值为101
printf("x=%d\n",a--); //输出值为101 , a的值为100
printf("x=%d\n",a+1); //输出值为101 , a的值为100
printf("x=%d\n",a); //输出值为100 , a的值为100
showkaname 提问者
为啥输出值不是a的值,感觉好乱
这是我看到一个大神的理解,转发个图片给你看看:
怎么感觉你写错了答案!!求解:
--a 输出101,a=101;不是98,输出98?
a--输出101,a=100(我的答案:100,a=99
嘻嘻,好像有点明白了。a+1是不会改变a的值的,会改变值的是自加和自减,但是a+1会使输出值发生变化。每次都是输出值和变量值给混了。(1)a++,是先输出100,后面再把a的值+1,就是101(2)然后是自加,就是102,然后输出102(3)自减101,输出101,(4)先输出101,自减就是100 (5)a不变100,输出加一(6)最后输出a=100。是这么理解的么?
qq_仰望摩天轮_0
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
2 回答例题代码中a+1是不会改变a的值但是为什么输出结果不可以是a+1偏要输出a的值?
1 回答为什么a+1不改变a的值
1 回答printf("%d\n",a+1);//为什么不改变值,已经赋值a了啊,+1不是应该101吗
3 回答printf(%d\n",a+1)不改变原来的值
4 回答为什么那个a+1没有改变a的值?