伪猫君 发表于 2012-1-18 04:40:36

新手关于 while 的问题

本帖最后由 伪猫君 于 2012-1-20 04:31 编辑

#include "stdio.h"
#include "conio.h"
void main()
{
char c;
while(1)
{
      while(c!=13&&c!=27)
       {
      c=getch();
      putch(c);
       }
      while(c==27)
                        break;
      while(c==13)
                continue;

}
getch();
}

VS2008运行时为什么弹出警告

kykxo 发表于 2012-1-18 04:40:37

c开始未赋值,然后输入的时候要是输入13的话,会不会陷入死循环啊???
while(c==13)
                continue;
如果c=13则继续这一条循环,然后就死了~~

wqlovt 发表于 2012-1-18 11:08:41

最好别 while(1) 又while()   直接就用 while(getchar() != NULL)

cmaomao 发表于 2012-1-18 12:38:19

楼主,你写的什么东西啊,说下是干什么的
中间好像是getchar和putchar吧,你写成了getch和putch了
while(c==27)
                        break;
      while(c==13)
                continue;
应该是两个if吧

伪猫君 发表于 2012-1-19 03:53:10

cmaomao 发表于 2012-1-18 12:38 static/image/common/back.gif
楼主,你写的什么东西啊,说下是干什么的
中间好像是getchar和putchar吧,你写成了getch和putch了
while( ...

用处是:显示输入的字符,如果是Esc键则退出循环,如果Enter键则不做任何处理继续下个字符。
这题是小甲鱼零基础学C语言视频20的例题,他也是写getch和putch的。

仰望天上的光 发表于 2012-1-19 16:23:20

VS2008默认使用多字节字符(用两个字节表示一个字符类型),设置为单字节字符就可以,步骤如下:
右键点击你做的项目-》“属性”-》“配置属性”-?“常规”-》“字符集”,把这里改为“未设置”
然后重新编译该项目就不会出现警告

事事如意 发表于 2012-1-19 21:18:05

哈哈,这位兄台,可以出病毒了,因为这是个死循环,while(1)这一点就决定了这是个死循环,因为1为真值,只要为真,就会不断的循环。直至把电用光,然后断电死亡。哈哈~~

yipwing 发表于 2012-1-19 22:18:29

LZ头像好萌...   {:5_92:}
那么多while啊..
break 自己都不知道跳出哪个while了..

伪猫君 发表于 2012-1-20 04:26:15

仰望天上的光 发表于 2012-1-19 16:23 static/image/common/back.gif
VS2008默认使用多字节字符(用两个字节表示一个字符类型),设置为单字节字符就可以,步骤如下:
右键点击 ...

设置了还是不行

伪猫君 发表于 2012-1-20 04:31:27

yipwing 发表于 2012-1-19 22:18 static/image/common/back.gif
LZ头像好萌...   
那么多while啊..
break 自己都不知道跳出哪个while了..

嗯、、、、的确,谢谢

immortalfaith 发表于 2016-9-11 17:14:48

来站坐

e马先森 发表于 2017-2-17 10:13:05

学习中呢真好{:10_249:}
页: [1]
查看完整版本: 新手关于 while 的问题