C语言中,如何用键盘输入来退出循环

C语言中,想用键盘输入一个字符(getchar)来达到退出循环(while)的目的,
代码该如何写。
char c ;
while(c=getchar()!='y')
{

}

如果这样写的话,每做一次循环都要输入一个字符,否则循环就不能继续执行下去。能否有其它方法,使循环在不按任何键的时候连续执行,而按下一个键以后就退出循环。

#include <stdio.h>
int main()
{
char ch;
while(1){
printf("您要退出循环吗?(Y/N)");
ch = getchar();
if(ch=='Y' || ch=='y') break;
}
    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-24
while(bioskey(0));
你按任何一个键就退出循环。不用按回车。

int bioskey(int cmd)本函数用来执行各种键盘操作,由cmd确定操作。
cmd可为以下值:
0 返回敲键盘上的下一个键。若低8位为非0,即为ASCII字符;若低8位为0,
则返回扩充了的键盘代码。
1 测试键盘是否可用于读。返回0表示没有键可用;否则返回下一次敲键之值。
敲键本身一直保持由下次调用具的cmd值为0的bioskey所返回的值。
2 返回当前的键盘状态,由返回整数的每一个位表示,见下表:
┌——┬———————————┬———————————┐
│ 位 │为0时意义 │为1时意义 │
├——┼———————————┼———————————┤
│ 7 │插入状态 │改写状态 │
│ 6 │大写状态 │小写状态 │
│ 5 │数字状态,NumLock灯亮 │光标状态,NumLock灯熄 │
│ 4 │ScrollLock灯亮 │ScrollLock灯熄 │
│ 3 │Alt按下 │Alt未按下 │
│ 2 │Ctrl按下 │Ctrl未按下 │
│ 1 │左Shift按下 │左Shift未按下 │
│ 0 │右Shift按下 │右Shift未按下 │本回答被提问者采纳
第2个回答  2008-08-19
char c ;
while(c=getchar()!='y')
{

}

如果这样写的话,每做一次循环都要输入一个字符,否则循环就不能继续执行下去。能否有其它方法,使循环在不按任何键的时候连续执行,而按下一个键以后就退出循环。

当 while (1) 就不按任何键就循环执行啦(死循环)
按下一个键后就退出循环 按下一个键也是要从键盘接受输入的 然后赋值给变量 由变量判断是否退出.

所以不肯能不按任何键就退出循环的
除非你在循环的时候指定了条件的 比如循环10次啊 或者什么的
第3个回答  2008-08-19
while(true)
{
printf("您要退出循环吗?(Y/N)");
if(getchar()=='Y') break;
}
第4个回答  2008-08-19
char a ;
while(a=getchar()!='/0')
{

}

c语言中如何实现输入回车跳出循环
因为打印出1后,进入while判断语句,你需要从键盘输入一个值,并且这个值不是回车,才能继续输出 如果需要一直打印,直到你按下回车,那么这需要用到一个函数:kbhit(),这个函数用于“当敲击键盘时执行”,可以用!kbhit()为“当没有敲击键盘时执行”...

c语言死循环如何用键盘退出,返回编译部分?
如果编译器是VC++6.0,使用ctrl+alt+del结束VC进程;如果编译器是turbo C,使用ctrl+q返回程序

c语言中遇到死循环怎么安全退出
Ctrl + C 紧急结束进程

在c语言中怎么实现输入esc退出 其他键继续
int main(){ while(1){ if (_kbhit() && _getch()==0x1b)break;printf("continue");} }

C语言 怎么设置键盘输入然后关闭程序
你的意思应该是程序是一个循环程序,当输入某个字符时就跳出循环,结束程序,那只要 include<stdio.h> int main(){ char a;while(1){ scanf("%c",&a);if(a=='$'){ break;} } }

C语言编程中按ctrl+F9后进入死循环,要怎么安全退出来,而且原程序不关闭...
C语言编程中按ctrl+F9后进入死循环,多半是程序判断的不偶量的值总是为真。你在每次写程序的时候要注意。出现这种情况的时候按ctrl+PauseBreak 再按一下ESC,再按一下F9,再按一下ESC.再进行程序的改进吧!~如果按ctrl+PauseBreak 也不能停止的话,就按PauseBreak键,再按ctrl+ESC退到windows窗口下...

C语言中如何表达:"输入一个空行结束循环"?
你的意思是按键盘上enter键结束么?回车+换行 = ENTER 分别对应ASCII码的0xd和0xa http:\/\/baike.baidu.com\/view\/15482.htm ASCII码表 我默认你是认为回车是结束标志 while(1){ char a;a = getchar();if(a == 0xa)break;} 就是这样 ...

C语言,while(scanf("%d",&item[i])!=EOF)的用法,如何跳出循环,具体的...
输入数据结束想退出循环时 拍入 组合键 Ctrl-Z 就是 EOF.int item[100];int i,n;i=0;while(scanf("%d",&item[i])!=EOF) { i++;} n=i;printf("I have read:\\n");for (i=0;i<n;i++) printf("%d ",item[i]);

c语言中怎么以回车退出循环
用一个if语句if((c=getchar())!='\\n')break;这是退出本次循环。include <stdio.h>#include<conio.h>void main()。printf("in the while\\n") if(getch()=='\\r') break。printf("out of the while\\n"),这个程序是只需要按一下回车就可以退出了。getchar有一个int型的返回值.当...

c语言出入字符后跳出循环的提问
Checks the console for keyboard input.int _kbhit( void );\/* KBHIT.C: This program loops until the user presses a key. If _kbhit returns nonzero, a keystroke is waiting in the buffer. The program can call _getch or _getche to get the keystroke.\/ include <conio.h> include...

相似回答