读书人

break语句!请

发布时间: 2012-09-02 21:00:34 作者: rapoo

break语句求助!请高手指点啊
书上看到个程序,
#include "stdio.h"
void main()
{
int i=0;
char c;
while(1) /*设置循环*/
{
c='\0'; /*变量赋初值*/
while(c!=13&&c!=27) /*键盘接收字符直到按回车或 Esc 键*/
{
c=getch();
printf("%c\n", c);
}
if(c==27)
break; /*判断若按 Esc 键则退出循环*/
i++;
printf ("The No. is %d\n", i) ;
}
printf("The End");
}
刚开始学break语句,书上有这个例子,看了半天没看懂。有以下2个问题:
1.c='\0'这是循环变量赋初值,那么为什么要赋个\0?我查了下\0对应的ASCⅡ码是NUL,请问这有什么具体的含义?
2.while后面的(c!=13&&c!=27)!=27可以看懂所对应的ASCⅡ码是ESC,但是!=13所对应的ASCⅡ码CR是什么意思?是回车的意思?CR是回车吗~?
结合我在编译器上对程序的运行,执行下来是每按一个键,然后立马输出并换行,直到我按下回车键或者ESC,若输入回车键,则执行i++,The No. is X,如果按ESC则停止。

[解决办法]
1.重新初始化 不让上一次的值干扰当前 没什么特别意义
2.就是回车

你可以试着F10单步调试几遍 就明白了

读书人网 >C++

热点推荐