一般格式:scanf (格式控制,地址表列)
1、 情况一:scanf("%f,%f,%f",&a,&b,&c);
代码演示:
#include <stdio.h>
int main()
{
int data;
printf("请输入一个数:\n");
scanf("%d",&data);
printf("扫描完毕\n");
printf("您输入的数是%d\n",data);
return 0;
}
2、情况二:如果在”格式控制“中,除了格式声明还有其他的字符,这个时候,在输入数据时,应在对应位置上输入相同的字符。
1)代码演示:
#include <stdio.h>
int main()
{
int a;
int b;
int c;
printf("请输入三个数:\n");
scanf("%d%d%d",&a,&b,&c); //连续输入三个数,尽量不要用逗号和空格,在编译的时候,与“输入字符”不同,空格会被自动省略掉。
printf("扫描完毕\n");
printf("您输入的数是a=%d,b=%d,c=%d\n",a,b,c);
return 0;
}
2)编译结果:
3、情况三:字符型
注:在编译时,不能使用空格和回车,直接连续输入原样数据即可。
代码演示:
#include <stdio.h>
int main()
{
char data1;
char data2;
char data3;
printf("请输入三个字符:\n");
scanf("%c%c%c",&data1,&data2,&data3);
printf("输入完毕\n");
printf("您输入的字符依次为data1=%c,data2=%c,data3=%c",data1,data2,data3);
return 0;
}
编译结果:(正解)
编译结果:(错解)
4、混合型:整数型、小数型和字符串混合。
1)代码整合:
#include <stdio.h>
int main()
{
int data1;
char data2;
float data3;
printf("请依次输入一个整数、一个字符和一个小数:\n");
scanf("%d%c%f",&data1,&data2,&data3);
printf("输入完毕\n");
printf("您输入的字符依次为data1=%d,data2=%c,data3=%f",data1,data2,data3);
return 0;
}
2)注:在编译时,不能有“空格”。
3)编译结果:5、对于“输入”和“输出”的补充:
gets
putchar-------输出字符
getchar-------获取字符
puts
1)代码演示:
#include <stdio.h>
/*
与prinft的区别:
1.自动加入换行符
2.prinft支持多种花样的输出,而puts就是输出字符串
*/
int main()
{
char c;
puts("请输入一个字符:\n");
c = getchar();
puts("你输入的字符是");
putchar(c);
return 0;
}
2)编译结果: