C语言问题

[复制链接]
查看11 | 回复5 | 2008-10-2 16:08:54 | 显示全部楼层 |阅读模式
for(i=1;i<=5;i++)和for(i=1;i<=5;++i)第一个for语句中第一次循环时i的值为1,执行i++后 执行i<=5之前i的值有变成2吗

回复

使用道具 举报

千问 | 2008-10-2 16:08:54 | 显示全部楼层
for(i=1;i<=5;i++)的是 先值后变,也就是说是先是这个i的值是1,然后i++的值是2,而for(i=1;i<=5;++i)是先变后值,这个i的值就直接变成2了!...
回复

使用道具 举报

千问 | 2008-10-2 16:08:54 | 显示全部楼层
变了, i++是先参与运算再自加,而++i先自加再远算。这个在单独的远算里没有区别。所以是一样的,都会变。但是在有些情况下就不一定。比如int p=1, q=1int a, ba=p++ //此时先a=1,然后p=2b=++q //此时q先=2,然后b=2...
回复

使用道具 举报

千问 | 2008-10-2 16:08:54 | 显示全部楼层
当然都变会变的,这里主要是区分i++和++i;i++是从1开始,然后一直加到5;但是++i,第一次是2,不是1;这里注意,然后加到5;没有1得过程。...
回复

使用道具 举报

千问 | 2008-10-2 16:08:54 | 显示全部楼层
变了...
回复

使用道具 举报

千问 | 2008-10-2 16:08:54 | 显示全部楼层
用于循环条件中的i++和++i不影响结果判断是否符合条件 是 1.执行 2.i++
否 退出判断是否符合条件 是 1.执行 2.++i
否 退出...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行