Scanf函数
- scanf的一般格式:
scanf(格式控制,地址列表);
“格式控制”的含义和printf函数相同,
“地址列表”是由若干个地址组成的列表,可以使变量的地址,或字符串的首地址。
- scanf函数中的格式声明:
与printf函数中的格式声明相似,以%开始,以一个格式字符结束,中间可以插入附加的字符(但是不推荐加入其他的字符,如果加入其他附加字符,那么在输入数据的时候也要把附加的字符全部输入进去,否则就会出错)。
例:
int data;
printf(“请输入data的值\n”);
scanf(“%d”&data);
*地址符号&
(1)scanf函数中的“格式控制”后面的“地址列表”应当是变量地址,而不是变量名。
例如,若a和b为整型变量,如果写成:
scanf(“%d%d”a,b);
是不对的,应将a,b改为&a,&b。许多初学者犯此错误。
(2)如果在“格式控制字符串”中除了格式声明以外还有其他字符,则在输入数据时在对应的位置上应输入这些字符相同的字符,如果有:
scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);
在输入数据时,应在对应的位置上输入相同的字符,即输入:
a=1,b=2,c=3
(3)在用“%c”格式声明输入字符时,空格字符和“转义字符”中的字符都作为有效字符输入,例如:
scanf(“%c%c%c”,&a,&b,&c);
在执行此函数时应该连续输入3个字符,中间不要有空格,如:abc
若在两个字符间插入空格就不对了,如:a b c
(4)在输入数值数据时,如输入空格、回车、Tab键或遇非法字符(不属于数值的字符)。认为该数据结束。
例如:
scanf(“%d%c%f”,&dataInt&data&dataFloat);
*输入不同的数值、字符、小数时,中间一定不要有空格或者其他的字符,最好不同的数据分开来写。
例:
#include <stdio.h>
int main()
{
int dataInt;
char data1;
float dataFloat;
printf(“请依次输入数字、字符、小数\n”);
scanf(“%d%c%f”,&dataInt,&data1,&dataFloat);
printf(“你输入的三个数值分别:dataInt=%d,data1=%c,
dataFloat=%f”,dataInt,data1,dataFloat);
return 0;
}
*上面案例就要注意了!!!!!!!!!
#include <stdio.h>
int main()
{
int dataInt;
char data1;
float dataFloat;
printf(“请依次输入数字、字符、小数\n”);
scanf(“%d”,&dataInt);
scanf(“%c”,&data1);
scanf(“%f”,&dataFlaot);
printf(“你输入的三个数值分别:dataInt=%d,data1=%c,
dataFloat=%f”,dataInt,data1,dataFloat);
return 0;
}
*推荐使用上面案例,每一个不同的数据分开来写!!!