| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 891 人关注过本帖
标题:for语句的输出问题
只看楼主 加入收藏
qweiuy566
Rank: 2
等 级:论坛游民
帖 子:48
专家分:19
注 册:2016-1-27
结帖率:75%
收藏
已结贴  问题点数:8 回复次数:4 
for语句的输出问题
#include<stdio.h>
main()
{
    int i;
    for(i=1;i<=5;i++)
    {
        if(i%2)
        putchar('<');
        else continue;
        putchar('>');
    }
    putchar('#');
    return 0;
}
运行结果是:<><><>#
第6次运行时,i=6的时候,第二个语句也就是i<=5为假,
不是应该结束for语句的循环,执行putchar('#');么,那
应该是<><><#啊,问题出在了哪里?
2016-02-02 16:56
紫月一殇雪
Rank: 8Rank: 8
来 自:北大某鸟
等 级:蝙蝠侠
威 望:4
帖 子:131
专家分:764
注 册:2015-11-12
收藏
得分:5 
错在  continue     
你的这段话等于是
 if(i%2){
        putchar('<');
}
        else{ continue;}
i=1   coutinue
i=2    <>
i=3   continue
i=4    <>
i=5   continue
i=6    <>
#

也就是  <><><>#   调试下就出来了

---------------------来自北大某鸟
2016-02-02 17:07
ZJY684
Rank: 2
等 级:论坛游民
帖 子:6
专家分:13
注 册:2016-1-3
收藏
得分:2 
如果将continue;去掉的话,运行结果是你想要的。
针对你写的这个程序的话,原因在于如果i能被2整除的话,continue会直接跳到for语句,不会执行后面的putchar('>');只有当i不能被2整除时才会执行这条语句。
2016-02-02 17:09
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:1 
删除continue;
2016-02-02 17:11
ldsh304
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:242
专家分:755
注 册:2016-1-18
收藏
得分:0 
回复 2楼 紫月一殇雪
不可能执行 i=6;
应该是这样执行的
i=1   <>
i=2    coutinue
i=3    <>
i=4   continue
i=5   <>
        #
2016-02-02 17:35
快速回复:for语句的输出问题
数据加载中...
 
   



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

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