您好,欢迎来到[问答大全]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 问答大全 >> 电脑网络 >> C语言萌新求助(初学者)

C语言萌新求助(初学者)

来源:网络整理     时间:2016/12/30 12:33:10     关键词:

关于网友提出的“ C语言萌新求助(初学者)”问题疑问,本网通过在网上对“ C语言萌新求助(初学者)”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: C语言萌新求助(初学者)
描述:

for ( int i=10; i> 1; i /=2 ) {
printf("%d ", i++);
}
这个程序为什么输出结果是10 5 3 2呢?
不应该是10 5 2吗?5/2之后等于2.5 因为是int所以直接变成2 迷茫了


解决方案1:

第一次循环 i=10 i++ 后 11
第二次循环 i=5 i++ 后 6
第三次循环 i=3 i++ 后 4
第四次循环 i=2 i++ 后 3
第五次循环 i=1 终止

5.0/2才等于2.5

解决方案2:

逻辑是这样的:

i=10;
printf("%d",i++) //打印完10以后i=11,因为执行了i++
然后i=i/2           //此时i=5
printf("%d",i++)//打印完5以后i=6,理由同上
i=i/2                  //此时i=3
解决方案3:

执行顺序如下,i=10 ;i>1;print;i++;这个时候是i=11;i/=2;print 5,i=6;i/=2=3下面的一样
,这样你搞清楚了没,输出结果是没有错误的。是因为你有一个i++


以上介绍了“ C语言萌新求助(初学者)”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/wd/4185095.html

相关图片

相关文章