C语言如何做到回车停止输入
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言如何做到回车停止输入相关的知识,希望对你有一定的参考价值。
呵呵,这个问题我也想过,想出了一个不怎么成熟的办法。#include<stdio.h>
void
main()
int
a[100],num=0;
char
k;
do
scanf("%d",&a[num]);
num++;
k=getchar();
while(k!='\n'&&num<100);
这样以空格隔开各个数字,输入若干以后按回车即可。
但是容错性不好,如果结尾在按回车前多输入了一个空格,那么将继续循环。
如果提升了容错性,那么代码将变得比较复杂。 参考技术A 呵呵,这个问题我也想过,想出了一个不怎么成熟的办法。
#include<stdio.h>
void
main()
int
a[100],num=0;
char
k;
do
scanf("%d",&a[num]);
num++;
k=getchar();
while(k!='\n'&&num<100);
这样以空格隔开各个数字,输入若干以后按回车即可。
但是容错性不好,如果结尾在按回车前多输入了一个空格,那么将继续循环。
如果提升了容错性,那么代码将变得比较复杂。
回答者:
isd12345678
-
五级
2010
他说的好! 参考技术B 在循环条件中检查回车即退出循环便可。
代码示例:
#include<stdio.h>
int
main()
int
a[50]=0,n;
for(n=1,scanf("%d",&a[n-1]);getchar()!='\n';n++)//判断getchar()!='\n'是否为换行。
scanf("%d",&a[n]);
return
0;
参考技术C #include
void
main()
char
buf[100];
int
i=0,j;
while((buf[i]=getchar())!=eof)
//在新的一行,ctrl+z
回车表示输入结束,具体请参考后面运行结果
i++;
for(j=0;j
评论
0
0
加载更多 参考技术D 你这样可定不行
scanf()函数是会过滤enter的
所以你的idata[num]永远的得不到enter的ASCII的值
以上是关于C语言如何做到回车停止输入的主要内容,如果未能解决你的问题,请参考以下文章