默认是以空白符作为结束标记的,如果要用scanf读取带空格的字符串,可以这样。
以换行符作为结束标记,从而读取带空格的字符串。
C语言输入一个中间代有空格的字符串,为什么不可以用scanf? 急急急
默认是以空白符作为结束标记的,如果要用scanf读取带空格的字符串,可以这样。以换行符作为结束标记,从而读取带空格的字符串。include <stdio.h> int main() { char str[100]; scanf("%[^\\n]",str); printf("%s",str); return 0;} ...
c语言scanf为什么不能直接赋值?
代码和输入格式有误。1、scanf("%d,%d",&a,&b);按照这个格式,输入数据的时候,应该加上逗号。比如说想输入22 33 就应该 22,33。2、也可以像这样scanf("%d %d",&a,&b);中间用空格隔开,那样就可以直接输入 22 33了。scanf 的功能用一句话来概括就是“通过键盘给程序中的变量赋值”。该...
请问在c语言中gets为什么遇到空格不停止而scanf遇到空格就停止了,请大...
scanf中%[^\\n]是接收从^字符到\\n字符的所有字符,原本scanf是不接收空格的,遇到空格就当做null来处理停止接受其后边的字符,但是这样控制输入后就会接收空格了,其实也可以用gets函数来接收,gets也接收空格的
求C语言资深高手解答,关于输入和输出
原因在于,你的scanf语句。scanf(%d%c%d%c")表示你要连续输入一个整数一个字符一个整数一个字符,并且整数和字符之间没有任何分割。那么你输入10 A 20 B后,10被赋给了a1,空格被赋给了c1,接着空格被赋给了a2,后面的数字被赋给了c2。所以错了。应该写成scanf(%d %c %d %c"),这样就OK了...
C语言中用scanf函数输入字符时,为什么要在输入控制符%c前面加空格?用s...
c前面的空格就是用来屏蔽空白符的,首先必须要知道C语言 scanf() 函数的特性,以及scanf()与缓冲区、标准输入流之间的联系。在此之前,先介绍两个专业术语。1.缓冲区 缓冲区是一块存放临时输入数据的内存,我们在键盘上输入数据之所以不会马上显示,就是因为数据存放在了缓冲区,在上面例子中,当我们按...
为什么运行不能输入scanf("%c",&c);这一步!见图!
scanf()函数是从键盘缓冲区取数据,而不是直白的理解为我按一个键它才取走,因为你按下的键都被存入缓冲区,也就是说。你的这个函数没有起作用是因为你的键盘缓冲区还有字符,于是scanf()就不等你按下键,直接从缓冲区取走了。记住scanf()不是直接和你打交道,你和scanf()之间还有个键盘缓冲区...
C语言scanf函数用法结果出现的问题
你的输入形式完全取决于你scanf("%d,%d",&a,&b); 中的形式,如你中间加了一个逗号,那么你输入的时候就应该是5,6 如果你不加逗号,那么你可以连续输入,如56它会认为是5和6.
为什么C语言里面scanf("7.2f")无意义?
问题2:scanf("123")有没有用?因为没有给任何变量赋值,所以看起来这条语句不起任何作用,好像有没有都一样,但是下面一个程序就可以证明,这条语句的有无会对运行结果产生影响。测试3:输入为"123"include <stdio.h>#include <stdlib.h>int main(){ freopen("C:\\\\1.txt", "rb", stdin...
C语言程序能否多次使用scanf
a=%d,b=%d,&a,&b),则要输入“a=1,b=2"scanf(%d%d,&a,&b)如果中间没有空格,则1和2之间可以有任意多个空格,因为scanf不会输入空格,但是scanf(%d %d,&a,&b)如果设置的格式间有空格,则输入时的空格至少不比你设置的空格少才行!即保证和你设置的格式一样就不会出错了 ...
C语言中的问题不明白为什么 新人麻烦详细解释一下谢谢
这里scanf指定逗号为输入的分隔符号。所以输入时数字和字符之间必须有逗号。scanf不指定分隔符时,默认以空白字符(空格、回车、制表符)为分隔符。PS:如果写%d%c不指定分隔符号。由于第二个变量是字符型,输入时中间不要加空格符,否则会将空白符号做为字符接收。