| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1202 人关注过本帖
标题:[求助]连续按两下回车就退出循环怎么写?
只看楼主 加入收藏
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
#include <stdio.h>
int main()
{
char str[16];
while(1)
{
scanf("%S",str);
if(getchar() == '\n'&& getchar() == '\n')
{
break;
}
}
}我用这个做实验
用 CFREE编译,发现 当什么也不输入的时候
直接按回车
不管几个都市不退出的

~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2006-08-08 00:27
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用nuciewth在2006-8-7 21:01:07的发言:

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

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

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

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


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-08-08 06:45
zz578
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2006-7-31
收藏
得分:0 

顶....

我还只有看的份

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


MSN:mr_zz@
QQ:284913258
计算机及应用专业
2006-08-08 17:43
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
以下是引用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");.

对不礼貌的女生收钱......
2006-08-08 19:15
slipperman
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-8-9
收藏
得分:0 

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

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

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

2006-08-09 02:26
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
以下是引用soft_wind在2006-8-8 19:15:40的发言:
呵呵,您举这个例子倒是饿。
那就具体要看啥程序了。真要输个字符串,未必得用上scanf("2%s");.

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


~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2006-08-15 13:12
lyn_gemini
Rank: 1
等 级:新手上路
帖 子:103
专家分:3
注 册:2004-9-15
收藏
得分:0 
使用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]

欢迎访问我的博客--*IT一粟*-- : http://lyn_gemini.
2006-08-15 14:44
多维数组
Rank: 1
等 级:新手上路
帖 子:238
专家分:0
注 册:2006-8-16
收藏
得分:0 
#include <stdio.h>
main() {
char enter[2];
gets(enter);
while(enter[1]=='\n'&&enter[2]=='\n') {
;
}
}

有事发邮件:tzp_1210@
2006-08-16 14:38
快速回复:[求助]连续按两下回车就退出循环怎么写?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044046 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved