C语言scanf的一些注意事项
说明
-
%d%d%d 是按十进值格式输入三个数值。输入时,在两个数据之间可以用一个或多个空格、tab 键、回车键分隔。
-
对于 scanf(),输入数据的格式要和控制字符串的格式保持一致。比如上述例子中使用 , 来分隔输入的 %d, 相应的输入时也需要添加 ,;同样的,如果有两个以空格分隔的 %d,输入数据时也要加上空格。
-
输入时 , 前一定要紧跟在数字后面,数字与 , 之间不能有空格。
-
在用 %c 输入时,空格和"转义字符"均作为有效字符。
注意:scanf() 读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串,请看下面的例子:
#include <stdio.h>
int main()
{
char url[30];
scanf("%s", url);
printf("url: %s\n", url);
return 0;
}
结果:
http://c.biancheng.net http://biancheng.net↙
url: http://c.biancheng.net
输入了两个网址,但是 scanf() 只读取了一个,就是因为这两个网址以空格为分隔,scanf() 遇到空格就认为字符串结束了,不再继续读取了。