|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
int main()
{
int a=100;
printf("%d\n",a++); //1
printf("%d\n",++a); //2
printf("%d\n",--a); //3
printf("%d\n",a--); //4
printf("%d\n",a+1); //5
printf("%d\n",a); //6
return 0;
}
运行结果为:
100
102
101
101
101
100
问题:第五个输出是取第四个的值相加,还是取它开始的初始值相加?求大神解惑?????
自己看
- #include<stdio.h>
- int main()
- {
- int a=100;
- printf("%d\n",a++); /*相当于 printf("%d\n",a); 100
- a=a+1; 101 */
-
- printf("%d\n",++a); /*相当于 a=a+1; 102
- printf("%d\n",a); 102 */
-
- printf("%d\n",--a); /*相当于 a=a-1; 101
- printf("%d\n",a); 101 */
-
- printf("%d\n",a--); /*相当于 printf("%d\n",a); 101
- a=a-1; 100 */
-
-
- printf("%d\n",a+1); /*相当于 b=a+1; b=101 a=100
- printf("%d\n",b); b=101 */
-
- printf("%d\n",a); /*上个等式的a为100,而且未被重新赋值,所以还是100*/
-
- return 0;
- }
复制代码
|
-
另附上图片
|