永发信息网

这个小代码里面为什么用i++和用++i的结果是一样的啊?

答案:4  悬赏:40  手机版
解决时间 2021-04-16 13:15

main()
{
int n[40]={1,1};
int i;
for(i=2;i<40;i++)

n[i]=n[i-2]+n[i-1];

for(i=0;i<40;i++)
{
if(i%4==0)printf("\n");

printf("n=%-12d",n[i]);
}


}

i++和++i,难道相同?

不是一个是 先用再加,另一个是先加再用吗?

最佳答案
一个是 先用再加,另一个是先加再用。
不过只是针对于当前的代码。执行到下一步代码的时候,再取值的话,都相当于是加过再用,就是一样的值了。
全部回答

因为for(1;2;3){ 4 }中,先执行1部分,之后是2,然后程序进到{ }中执行4,执行完后执行3,之后再 2,4,3,2,4,3。。。所以在for()中 看不出i+ + 与 + + i 的效果。

void main()

{

int i = 0;

printf("%d\n",++i); //输出 1

i = 0;

printf("%d\n",i++); //输出 0

}

那是在一个表达式中引用到它的值的时候, 在此处就等于是单独的一句i++,和i=i+1没啥两样。
i++是先用再加 ++i是先加再用 不过单独用的时候,都是i=i+1,没什么区别! 而 a = ++i,相当于 i=i+1; a = i; (先i = i + 1,再使用i的值) 而 a = i++,相当于 a = i; i=i+1; (先使用i的值,再i = i + 1)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
爱父母的英文名言,关于父母的爱名言警句 40分
痛彻心扉什么意思?
龟湖在什么地方啊,我要过去处理事情
一般板鞋能穿多久?
戴尔笔记本的键盘解锁怎么解啊?
adobe flash cs4的函数脚本网址链接代码怎么
处女座的男孩适合哪种女孩?哪个星座的?
眼睛痛怎么办
管制必须由公安机关执行吗
sg wanna be 活着的中文歌词
中国邮政储蓄银行高邮市武宁支行在什么地方啊
赞美冰淇淋降温的句子,描写冰淇淋的句子
十七大概况
《黑执事》所有歌曲包括插曲!!谢谢,非常感
申请QQ有几种方法可以申请谢谢。
推荐资讯
求 5个人初次见面的场景,以及交换名片等等
那么多的外来工在广州打工定居是因为什么?
诺基亚5310能运行的软件索爱W980能运行吗?
兄弟牌打印机MFC—7340电脑提示墨粉用尽!
有什么好的音乐网???越新越好
诺基亚N78在广州行货水货各多少钱?哪种好?
谁能给我一个能在QQ空间里用的《你不像她》的
严应班我想知道这个在什么地方
乐惠佳百货商行地址有知道的么?有点事想过去
DNF明天维护吗
湘水渔港(九峰店)地址在什么地方,想过去办事
被骗了 心情不好 怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?