c语言,用scanf格式输入时,对输入的数据格式有什莫要求么?如两个数据之间用一个或多个空格间隔

如题所述

1.scanf函数的一般形式 scanf(格式控制,地址表列) int scanf(char *format[,argument,...]); “格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串首地址。 scanf()函数返回成功赋值的数据项数,出错时则返回EOF。 例题 scanf函数输入数据。 #include void main(){ int a,b,c; printf("input a,b,c\n"); scanf("%d%d%d",&a,&b,&c); printf("a=%d,b=%d,c=%d",a,b,c); } 格式字符 说明 %a 读入一个浮点值(仅C99有效) %A 同上 %c 读入一个字符 %d 读入十进制整数 %i 读入十进制,八进制,十六进制整数 %o 读入八进制整数 %x 读入十六进制整数 %X 同上 %c 读入一个字符 %s 读入一个字符串 %f 读入一个浮点数 %F 同上 %e 同上 %E 同上 %g 同上 %G 同上 %p 读入一个指针 %u 读入一个无符号十进制整数 %n 至此已读入值的等价字符数 %[] 扫描字符集合 %% 读%符号 附加格式说明字符表修饰符 说明L/l 长度修饰符 输入"长"数据 h 长度修饰符 输入"短"数据 W 整型常数 指定输入数据所占宽度 * 星号 空读一个数据 hh,ll同上h,l但仅对C99有效。 (B) 空白字符空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符,空白符可以是space,tab,newline等等,直到第一个非空白符出现为止。(C) 非空白字符一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。追问

神魔意思啊?

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-06-13
在scanf格式字符串中 指定分隔符
比如要用逗号分隔,那就写逗号
scanf("%d,%d",&a,&b);
如果要用空格分隔 那么可以不写分隔符 直接
scanf("%d%d",&a,&b);本回答被网友采纳
第2个回答  2015-02-09
本来scanf就是按照你输入的格式来读取的,比如1,空格空格2就应该写成"%d, %d"追问

%d%与d之间是两个空格是吧?

是自己输入的格式决定了%d的格式还是%d的格式决定了自己输入的格式?

本回答被网友采纳
第3个回答  2017-06-12
顺序、类型、长度、个数都要与前面的格式符一致
第4个回答  2017-06-10
scanf格式化遇到空格是串尾

c语言,用scanf格式输入时,对输入的数据格式有什莫要求么?如两个数据...
1.scanf函数的一般形式 scanf(格式控制,地址表列) int scanf(char *format[,argument,...]); “格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串首地址。 scanf()函数返回成功赋值的数据项数,出错时则返回EOF。 例题 scanf函数输入数据。 #includ...

C语言中的问题不明白为什么 新人麻烦详细解释一下谢谢
这里scanf指定逗号为输入的分隔符号。所以输入时数字和字符之间必须有逗号。scanf不指定分隔符时,默认以空白字符(空格、回车、制表符)为分隔符。PS:如果写%d%c不指定分隔符号。由于第二个变量是字符型,输入时中间不要加空格符,否则会将空白符号做为字符接收。

C语言中如果想输入两个数中央用逗号或空格输出结果一样的,应该怎样编译...
scanf("%d%c%d", &a, &z, &b);printf("%d\\n", a+b);} 这样就可以了,用%c吧空格或者逗号吃掉。不过这个逗号必须是英文状态下的逗号。你可以试一下,把scanf()和printf()放进一个while(1)循环中,如果是中文状态下的逗号的话就会死循环。

C语言中scanf("%f,%,f%f,",&a,&b,&c);%f之间的逗号可省没,为什么
可以省略 这只是对输入格式的控制 有逗号的时候,按照引号内的格式,直接输入数据和逗号,就可以将各个数据分隔开 没有逗号的时候,各个数据之间用空格或者回车 分隔开来

scanf函数(输入格式化函数)
在使用scanf函数时,输入的数据类型必须与格式控制字符串中的格式指示符匹配。如果不匹配,可能会导致程序运行出错或出现意外结果。处理输入缓冲区 在使用scanf函数读取字符或字符串时,需要注意输入缓冲区的处理。由于输入缓冲区中可能会包含换行符等无效字符,因此在读取字符或字符串之前,可以使用getchar函数...

c语言scanf输入时为什么不能用逗号隔开
c语言scanf输入时能用逗号隔开,但是输入数据的时候一定也要加上逗号。用scanf()读取数据时,输入的格式必须和scanf()的格式控制字符串对应。对于标准输入函数scanf来说,括号内的格式字符串,也就是由" "中的部分,除了%引导的格式字符之外,所有的其他字符必须在输入数据时原样原位置输入。例如:scaf("...

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

scanf("%d%d",&a,&b)与scanf("%d,%d",&a,&b)的区别!!
1、scanf("%d%d",&a,&b)输入的两个数据用空格,TAB或者回车区分开。2、scanf("%d,%d",&a,&b) 输入的两个数据用逗号区分开。3、scanf函数功能是从外设读取数据并赋值给变量,%d代表接收一个整形数,&a代表变量a的内存地址,也就是说把读取的第一个整形数赋值给变量a。4、scanf函数称为格式...

C语言中要背的有哪些?
一定要记住是以第一部分的格式在终端输入数据。考试核心为:在黑色屏幕上面输入的为 a=12,b=34才可以把12和34正确给a和b 。有一点不同也不行。2、scanf函数的格式考察。注意该函数的第二个部分是&a 这样的地址,不是a;scanf(“%d%d%*d%d”,&a,&b,&c); 跳过输入的第三个数据。3、...

c语言中的scanf 函数的用法
scanf 函数最主要的用法是:scanf("输入控制符", 输入参数);功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。用scanf()函数以%s格式读入的数据不能含有空白符时,所有空白符都被当做数据结束的标志。所以题中函数输出的值只有空格前面的部分。如...

相似回答