showkaname
2015-09-17 14:54
printf("%d\n",a+1);
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
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
为啥输出值不是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。是这么理解的么?
C语言入门
926224 学习 · 20797 问题
相似问题