一般来说遇到了空格,回车或者是EOF都会停止进行读入,特别是空格,在输入的时候不要随意加入空格,否则输入的东西就不是你想要的了。在遇到EOF时停止,windows命令行中按ctrl+z,linux命令行中ctrl+d即为EOF。如果从文件读取,文件结尾就是EOF。 C语言中scanf函数一般来说遇到了空格,回车或者是EOF都会停止进行读入,特别是...
输入:I live you! 输出:I scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结束)。 ① 遇空格、“回车”、“跳格”键。 ② 遇宽度结束。 ③ 遇非法输入。 所以,上述程序并不能达到预期目的,scanf()扫描到"I"后面的空...
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) brea...
包括空格在内,无特殊处理,如: char str[]="hello world" ;printf("%s\n", str );puts(str);fputs(str,stdin); 但在输入带有空格的字符串时,只能用gets()或fgets(),而不能用scanf("%s") ,因为scanf("%s")输入字符串时,
方便查阅,不用辛苦地再去翻书了!printf("请输入A多项式系数和指数(用空格隔开,结束输入回车):\n"); do{ scanf("%f %d",coef,exp); GetElem(LA,coef,exp); }while(getchar()!='\n');//这里这句可以使得输入空格时自动结束输入 如下图 ...
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 ...
1.使用"%[^\n]"也是可以接收输入一个带空格的字符串,直到回车结束接收 charbuf[10]={0};scanf("%[^\n]",buf);//可以读取空格,回车结束输入 注:%[abc]表示字符组合包括a、b和c,如果遇到这三个字符之外的字符,则停止接收。%[^abc]代表字符组合为abc以外的所有字符,至于横杠是否用于指定某个范围的字符...
如果每行是固定格式的话可以用fscanf函数 比如TXT中一行为: aa bb cc fscanf(fp , "%s %s %s" , a , b , c);//fp为文件指针, a,b,b为char数组
c语言在运行时不进行边界检查,你用scanf加参数%s来输入,它会读一个字符串进去(遇到回车等特殊字符就结束输入,并在最后补'\0'),至于c是否能容纳这么多,这是由编程者自己来保证c的大小要足够的。所以你的c越界,只能说明是程序错误。这时候正好c[1]后面可以用,所以输出4个字符没有出问题,...