| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 675 人关注过本帖
标题:break;语句执行中遇到的问题,求解答!
取消只看楼主 加入收藏
ksil
Rank: 2
等 级:论坛游民
帖 子:15
专家分:31
注 册:2014-3-1
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
break;语句执行中遇到的问题,求解答!
程序代码:
#include <stdio.h>
int main()
{
    int i=0;
    char c;
    while (1)
    {
        c='\0';
        while (c!=13&&c!=27)
        {
            c=getchar();
            printf("%c\n", c);
        }
        if (c==27)
            break;
        i++;
        printf("The No. is %d\n", i);
    }
    printf("The end");
}
为什么在执行程序是不能显示 printf("The No. is %d\n", i);和 printf("The end");两个语句的结果?只能显示输入的字母组合


2014-03-03 21:19
ksil
Rank: 2
等 级:论坛游民
帖 子:15
专家分:31
注 册:2014-3-1
收藏
得分:0 
回复 4楼 wp231957
这是书上的例题........我是不是该换本书了,谭浩强的《C语言程序设计》

C学习中。。
2014-03-03 21:42
ksil
Rank: 2
等 级:论坛游民
帖 子:15
专家分:31
注 册:2014-3-1
收藏
得分:0 

程序代码:
#include <stdio.h>
int main()
{
    int i=0;
    char c;
    while (1)
    {
        c='\0';
        while (c!=10&&c!=27)
        {
            c=getchar();
             if (c==13)break;
            printf("%c\n", c);
             i++;
        }

        printf("The No. is %d\n", i);
        break;
    }
    printf("The end");
}
这样改居然对了,版主给推荐本书吧!这个太坑人了..

C学习中。。
2014-03-03 21:54
ksil
Rank: 2
等 级:论坛游民
帖 子:15
专家分:31
注 册:2014-3-1
收藏
得分:0 
以下是引用wp231957在2014-3-3 21:52:22的发言:



刚刚测试过    while (c!=13&&c!=27)   这个键值都无法被检测  所以无法退出循环  死死的死循环
意思就是 while(c!=13&&c!=27) 这个语句等同于 while(1) 永远为真?所以必须要一个if...break语句才能退出循环。这样的话那么懂了!

C学习中。。
2014-03-03 21:58
ksil
Rank: 2
等 级:论坛游民
帖 子:15
专家分:31
注 册:2014-3-1
收藏
得分:0 
以下是引用wp231957在2014-3-3 22:00:05的发言:

是的  包括你8楼的代码  if (c==13)break; 这都是没有用的
恩,确实是这样,谢谢!

C学习中。。
2014-03-03 22:11
快速回复:break;语句执行中遇到的问题,求解答!
数据加载中...
 
   



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

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