C语言中,怎样判断scanf函数输入结束呢?

int main ()
{
int i ;
int a[20] ={0} ;
for (i=0 ;a[i] != '\n' ; ++i)
scanf("%d" ,a) ;
return 0 ;
}
为什么这个程序里用‘\n’ 不能判断输入结束?

1、新建一个scanf项目。

2、添加一个scanf.cpp文件,如图所示。

3、包含stdio.h头文件,如图所示。

4、输入main函数

5、使用scanf函数接受用户输入的字符,如图所示。

6、运行程序,查看效果。


注意事项:

(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include <stdio.h>。)它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-16
1、可以使用EOF来判断输入是否结束。scanf()函数是有返回值的,成功读入的数据个数其返回值,没有数据被读入,返回0,如果发生错误,则返回EOF。scanf()函数是读入函数的之一,还有用于数据文件读入的fscanf()等。fscanf()在遇到文件结束符时返回EOF。
2、例如:while(scanf("%d",&n)!=EOF);
第2个回答  2015-03-30
scanf函数在读入错误时会返回-1,根据这个可以判断结束。
while(scanf("%d",&a)!=-1)
{
;
}本回答被网友采纳

C语言中,怎样判断scanf函数输入结束呢?
1、新建一个scanf项目。2、添加一个scanf.cpp文件,如图所示。3、包含stdio.h头文件,如图所示。4、输入main函数。5、使用scanf函数接受用户输入的字符,如图所示。6、运行程序,查看效果。注意事项:(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include <stdio.h>。)它是格式...

c语言scanf函数,在输入数据的时候,是按什么来判定数据输入完毕的呢?
每个数都有赋值然后按下回车就可以判定了啊,不是非得回车当间隔,如果是scanf("%d,%d,%d,&a,&b,&c")的话就是拿逗号判定间隔的,每个数都接收到赋值了,然后按下回车,这样判定输入完毕

C语言中scanf处理输入数据时,遇到什么情况时该数据认为结束
1.遇到空格,或"回车",或"跳格",例子:scantf("%d%d",&a,&b)如果这样输入:12空格23当对a输入时,录入了12,然后遇到空格,满足条件,停止对a录入,所以a的值为12 2按指定宽度结束,例如"%3d",只取前3列 3遇到非法输入时。例如:scantf("%c%f",&b,&c) 若这样输入:a 123o.26 ...

C语言:scanf不是需要用回车键来确认输入吗?
1、除了%c的输入而言:scanf输入:abc[回车]后,遇到回车结束,但是回车还留在输入流中。下一个scanf在输入前碰到回车,会自动把回车抛弃,然后再输入:efg,再碰到回车结束。所以加了getchar()时,它会吃掉一个回车。如果不加,在输入前,它会自动删除这个回车,所以结果是一样的。重点是:空格、回...

c语言中,gets 和getchar及scanf是如何判断你输入的字符或者字符串结束...
scanf()是什么都可以输入,scanf()是以回车代表输入结束 scanf()中会用到空格 是用作分隔符的 因为scanf()可以输入多个变量,如 canf("%d%d",&a,&b);\/\/表示输入两个整形的数分别赋给变量a、b 在输入另个数时用空格间隔开 但如果canf("%d,%d",&a,&b);\/\/如果两个%d中间...

C语言 scanf输入回车或空格时停止输入
scanf("%d",&a[i]); 无此功能,当你连续按回车时,它继续等待输入数据。可以用gets(s);再sscanf读数。用strlen(s)判断为空行,则停止输入:include<stdio.h> include<stdlib.h> void main(){ int i,a[10];char s[20];for(i=0;i<10;i++) { gets(s);if (strlen(s) < 1) ...

C语言如何实现scanf若什么都没输入直接回车则结束输入?
你列举的这几个都是多组数据输入循环;这些循环是没有结束标志的;按回车是进入下一次循环;加一个if---break;条件判断结束循环;if(...){ ...;break;} do{ scanf("%d",&a);}while(getchar()!='\\n');\/\/遇到回车符结束;就是scanf函数不输入任何数,按回车直接结束循环;for(int ...

c语言中怎样表示当输入非数字值时,循环结束
函数名:test 功能:循环读入整数,当输入非数字值时结束循环。代码实现:include<stdio.h>void test(void){ while(1) { int v, ret; ret = scanf("%d",&v);\/\/每次输入一个整型数值并存在v中 if(ret != 1) break;\/\/判断返回值,如果非1则退出循环。 printf("%d\\n"...

C语言中用scanf需要输入的地方按回车怎么就退出了?
其实已经显示完a了,只不过太快了,你还没看见呢,程序就结束了。你应该在printf("a"); 的后一行加上一个断点,再运行,程序会停下来。也可以这样:include<cinio.h> main(){ int a;scanf("%d",&a);printf("%d",a);getch();}

scanf输入字符串会不会读取回车?
scanf()是C语言中的一个输入函数。形式:int scanf(const char * restrict format,...);format指向的字符串包含的格式指令中的s读入一个的字符序列,后面会加上空字节,遇到空白字符(\\t \\r \\n 空格等)完成读取。scanf输入字符串的时候不会接收Space空格,回车Enter,Tab键,则认为输入结束。scanf...

相似回答