当前位置: 代码迷 >> C语言 >> 新人求助
  详细解决方案

新人求助

热度:166   发布时间:2005-09-13 11:31:00.0
新人求助
#include <stdio.h>
void 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");
}
程序就是这样了,问题是,为什么摁esc就把我刚开始写的英文就没了.而且不能输出下面那些输出命令的东西,新手,看书有困难..
搜索更多相关的解决方案: 新人  

----------------解决方案--------------------------------------------------------
应为 while(1)
所以循环不会停止,除非c==27;才会看到后面的输出命令
----------------解决方案--------------------------------------------------------
不明白你的问题
----------------解决方案--------------------------------------------------------
可是break不是可以终止循环吗?当我摁下ESC的时候还是没有去实现printf("The No. is %d\n", i);printf("The end");这两句,
没有打印输出那个i数字,应该怎么改一下比较方便的
----------------解决方案--------------------------------------------------------
你的程序读不到ESC,所以按ESC是没有用的。
----------------解决方案--------------------------------------------------------
那应该如何修改一下呢?
----------------解决方案--------------------------------------------------------
按下ESC回车后,遇到break;跳出循环,当然看不到The No. is ...
----------------解决方案--------------------------------------------------------
可是连the end都没有...
----------------解决方案--------------------------------------------------------
在vc中可以看到,不知道tc行不行
----------------解决方案--------------------------------------------------------
不明白吗 ?  
----------------解决方案--------------------------------------------------------
  相关解决方案