当前位置: 代码迷 >> C语言 >> [求助]连续按两下回车就退出循环怎么写?
  详细解决方案

[求助]连续按两下回车就退出循环怎么写?

热度:343   发布时间:2006-08-08 00:27:13.0
#include <stdio.h>
int main()
{
char str[16];
while(1)
{
scanf("%S",str);
if(getchar() == '\n'&& getchar() == '\n')
{
break;
}
}
}我用这个做实验
用 CFREE编译,发现 当什么也不输入的时候
直接按回车
不管几个都市不退出的
----------------解决方案--------------------------------------------------------
以下是引用nuciewth在2006-8-7 21:01:07的发言:

我知道,只有输入换行才可以结束接收字符,此时前面一定已经接收了一个换行符.但前面如果出现过使得循环可以结束的字符,是否后面接收的字符有效呢

必须输入两次字符才可以.

如果是想第一次在字符不是回车就结束循环的话.用

while(getchar()!=10||getchar()!=10)
{
...
}


----------------解决方案--------------------------------------------------------

顶....

我还只有看的份

[此贴子已经被作者于2006-8-8 17:45:56编辑过]


----------------解决方案--------------------------------------------------------
以下是引用vfdff在2006-8-8 0:27:13的发言:
#include <stdio.h>
int main()
{
char str[16];
while(1)
{
scanf("%S",str);
if(getchar() == '\n'&& getchar() == '\n')
{
break;
}
}
}我用这个做实验
用 CFREE编译,发现 当什么也不输入的时候
直接按回车
不管几个都市不退出的
呵呵,您举这个例子倒是饿。
那就具体要看啥程序了。真要输个字符串,未必得用上scanf("%s");.
----------------解决方案--------------------------------------------------------

#include"stdio.h"
main()
{ char c,a;
while(1)
{ if((c=getchar())=='\n'&&(c=getchar())=='\n') break;

printf("%c\t",c);
}
getch();}

不普遍 要是有其他输入的话还得改进下


----------------解决方案--------------------------------------------------------
以下是引用soft_wind在2006-8-8 19:15:40的发言:
呵呵,您举这个例子倒是饿。
那就具体要看啥程序了。真要输个字符串,未必得用上scanf("2%s");.

请问 在 TC 的图形模式下 ,有没有一个 函数 能实现象scanf("%s");.一样
一边能接收个字符串,同时又能同步显示这个串
而不是等待全输入好后回车才显示呢 ???


----------------解决方案--------------------------------------------------------
使用getche()函数来实现,它不像scanf一样会有残留字符在缓冲区里。
其中'\015'是回车符的8进制表示。
[CODE]
#include <stdio.h>
#include <conio.h>
void main()
{
char c;
while (1) {
c = getche();
if (c == '\015') {
c = getche();
if (c == '\015') break;
}
}
}
-----------------------------------------
[/CODE]
----------------解决方案--------------------------------------------------------
#include <stdio.h>
main() {
char enter[2];
gets(enter);
while(enter[1]=='\n'&&enter[2]=='\n') {
;
}
}

----------------解决方案--------------------------------------------------------
  相关解决方案