鱼C论坛

 找回密码
 立即注册
查看: 2322|回复: 4

C语言第20讲例6.8中的break问题

[复制链接]
发表于 2012-2-25 12:51:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
源程序如下:
#include<conio.h>
#include<stdio.h>
void main()
{
        int i=0;
        char c;
        while(1);
        {
                c='\0';
                while(c!=13&&c!=27)
                {
                        c=getch();
                        printf("%c\n",c);
                }
                if(c==27)
                        break;
                i++;
                printf("The No. is %d\n",i);
        }
        printf("The end");
       
}

提示错误:
--------------------Configuration: BREAK - Win32 Debug--------------------
Compiling...
break.c
E:\workspace\BREAK\break.c(16) : error C2043: illegal break
执行 cl.exe 时出错.

break.obj - 1 error(s), 0 warning(s)

求解释~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-27 08:55:02 | 显示全部楼层
break不能在if语句里
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-27 10:46:06 | 显示全部楼层
本帖最后由 Love 梦想 于 2012-2-27 10:48 编辑

回 1 楼,break 可以放在if语句里面 前提是这个if在一个循环里面。baeak它的作用是跳出最近的一个循环。

回LZ,你的 while(1);  多了一个分号~  所以 baeak 不在循环里面 报错!  把分号去掉 就行了

void main()
{
        int i=0;
        char c;
        while(1);                                     // 这里多了一个 ;    你可以试试 把 下面的break 注释掉,编译后 程序会在这里无限循环 不会再执行下面的语句
        {
                c='\0';
                while(c!=13&&c!=27)
                {
                        c=getch();
                        printf("%c\n",c);
                }
                if(c==27)
                        break;        // 你的原意应该是要跳出 while(1) 这个循环  但实际上却没有循环 因为上面的循环已经结束了。
                i++;
                printf("The No. is %d\n",i);
        }
        printf("The end");
        
}


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-2-28 10:20:18 | 显示全部楼层
粗心了:'(谢谢指教~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-28 11:58:42 | 显示全部楼层
break 是和最近的while 或者 for 起作用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-23 14:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表