学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

[求助]++,--问题。菜鸟求助~

[求助]++,--问题。菜鸟求助~

#include<stdio.h>
void main()
{

int i=8;

printf("%d\n",++i);

printf("%d\n",--i);

printf("%d\n",i++);

printf("%d\n",i--);

printf("%d\n",-i++);

printf("%d\n",-i--);

}

输入9 8 8 9 -8 -9。请帮忙一个一个说明下谢谢,
我的理解是9 7 8 8 -7 -9

TOP

我也想知道` 看这贴快落了` 顶一下`

TOP

没人。。。

TOP

这是前置++,--与后置++,--的问题,
前置++,--先加一后做运算
后置++,--先运算后做加一,

所以第一个++i,输出9,8先加1,在输出9,不知道这样说是不是明白

天意总有礼物和失落,我享受生命的每个阶段

TOP

好象就是++i和i++的区别,一个先加在显示,一个显示i在加嘛。

TOP

i的值会随着程序的运行而改变.
也就是说i的初始值为8.
进行到--i的时候,i的值为9,--i的时候又为8
同理...
下面的都一样
魔の左手............
神の右手.............

TOP

1)i=8 printf("%d\n",++i); 此时表达式++i的值9,输出,i的值变为9
2)i=9 printf("%d\n",--i); 此时表达式--i的值8,输出,i的值变为8
3)i=8 printf("%d\n",i++); 此时表达式i++的值8,输出,i的值变为9
4)i=9 printf("%d\n",i--); 此时表达式i--的值9,输出,i的值变为8
5)i=8 printf("%d\n",-i++);此时表达式-i++为-8,输出,i的值变为9 /*-i++相当于-(i++)*/
6)i=9 printf("%d\n",-i--);此时表达式-i--为-9,输出,i的值变为8

总之:类似i++,可以理解为表达式i++的值和变量i的值即可



TOP

回复:(米车阿里)这是前置++,--与后置++,--的问题...

简单易懂[em30][em30]

TOP

发新话题