| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 591 人关注过本帖
标题:求详细解释!
只看楼主 加入收藏
stevenyanhan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-10-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
求详细解释!
16.    下面程序的运行结果是【 C  】。
void main()
{
int i,j,a=0;
for(i=0;i<2;i++)
{
for(j=0;j<4;j++)
{
if(j%2)  break;
a++;
}
a++;
}
printf("%d\n",a);
}
A) 6                              B) 8              
C) 4                                   D) 7

请大家给我详解啊~~我这个题目不知为什么是4!我觉得应该是5啊!
搜索更多相关主题的帖子: 解释 
2010-12-04 21:59
alonewaiting
Rank: 1
来 自:四川
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-12-4
收藏
得分:0 
当i=0,a=2;
  i=1,a=4;
i=2时就跳出循环,break是直接跳出循环后面的不用执行后面的语句。
2010-12-04 22:53
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:20 
程序代码:
void main()
{
int i,j,a=0;
for(i=0;i<2;i++)   /*控制下面一个for循环的循环次数*/
{
for(j=0;j<4;j++)    /*控制j的循环次数
{
if(j%2)  break;/*j如果能被2整除就跳出for(j=0;j<4;j++)循环,即不做下面的a++*/

a++;    /*j如果能被2整除就跳出for(j=0;j<4;j++)循环,这一句不执行*/
}
a++;  /*第一个for循环每执行完一次,该语句执行一次
}
printf("%d\n",a);
}
i=0时,
j=0,if语句为假,第一个a++执行,,a++后a变成1;
j=1,if语句为真,执行break,直接跳出第二个for循环,
此时第二个for语句循环结束,第二个a++执行,此时a++后变成2
然后回到第一个for语句,i=1,第二个for语句执行过程与i=0完全一样,
a++会执行一次,第二个for循环完了a++还会执行一次,所以整个过程中a++
一共执行了四次,即最后a=4.

[ 本帖最后由 venus85 于 2010-12-4 23:53 编辑 ]
2010-12-04 23:48
cadypeng
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2010-12-4
收藏
得分:0 
回复 2楼 alonewaiting
这位兄弟理解错了吧。if()语句是当求余为零(即整除时候)时候执行if(){a++;}语句。不是整除时候跳出循环。当不整除时候即有余数的时候if()语句为真则跳出循环。

如果改变了事情就尝试改变自己。
2010-12-05 00:05
ququguoguo
Rank: 2
等 级:论坛游民
帖 子:73
专家分:90
注 册:2010-10-20
收藏
得分:0 
我是来学习的。。。。
2010-12-05 03:27
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
for(i=0;i<2;i++)
{
for(j=0;j<4;j++)
{
if(j%2)  break;
a++;
}
a++;
}
只有j=0的时候二层循环里的a++才被执行
而一层循环执行了两次   那么一共执行了a++  4次

                                         
===========深入<----------------->浅出============
2010-12-05 10:51
stevenyanhan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-10-26
收藏
得分:0 
太感谢啦~~我明白了!解答很详细!谢谢大家~~!!
2010-12-05 22:56
快速回复:求详细解释!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018731 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved