函数一般形式:scanf(格式控制字符串,地址序列)
格式控制字符串:用来控制以什么格式输入数据
地址序列:把输入的数据依次放入到对于的地址的内存中去
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
在dos窗口(小黑窗口中输入数据时应在对应的位置上输入同样的字符,既
a=1,b=2,c=3
而不是输入:1 2 3 这样就错了
因为系统会把它和scanf函数中的格式字符串逐个对照检查,是否匹配相同
1.对于用”%c“格式字符输入字符时,空格字符和转义字符中的字符都作为有效字符输入,比如:
scanf("%c%c%c",&a,&b,&c);
在小黑窗中输入字符时,连续输入三个字符即可,中间不可有空格,如果输入空格了,
比如:a b c 这时第一个字符'a'送给变量a,第二个字符是空格' '送个变量b ...
2.对于"%d"格式输入数据时,连续输入的数据间要用空格来隔开,以使系统区分两个数值,上面之所以不隔开是因为输入的是字符,系统能区别两个字符且空格等也是有效字符,除非格式控制符中存在普通字符,这是就要对照格式输入相应的数据
3.在输入数值数据时,如果输入空格、回车、tab键或非法字符(不输入数值的字符)时,认为该数据输入结束
4.对于”%s"格式输入字符串时,连续地输入字符串也要用空格来隔开
char str1[5],str2[5],str3[5];
scanf("%s%s%s",str1,str2,str3);
在dos小黑窗口中输入数据:abc cde fhg 因为有空格符号,系统会把这三个字符串分别送入到str1,str2,str3数组中
char str[13]
scanf("%s",str);
在dos窗口中输入数据:how are you? 因为系统把空格符作为输入数据之间的分隔符号,所以在这里系统只把”how“送入到str中