1. scanf 是一个阻塞式函数,也就是说当程序 遇到scanf时,会停止执行,直到键盘录入结束,才会继续向下执行。
scanf(“%d”,&a)
scanf(“a=%d”,&a)
错误的表示
scanf(“%d%d”,&a,&b)
注意:
当你录入多个变量时如果没有自定义分隔符,默认是空格,如果使用了自定义分隔符,则控制台录入时,需要使用对应的分隔符。
2. & 是取地址符。
例1:输入三个整数并打印最大的数
#include "scanf.h"
#include <stdio.h>
int main()
{
int a,b,c;
int max;
printf(" 请输入三个整数:");
scanf("%d%d%d",&a,&b,&c);
max = a > b ? a : b; //先找出a、b中最大的;
max = max > c ? max : c; //将a、b中最大的与c比较,最后找出三个中最大的;
printf(" max=%d",max);
return 0;
#include <stdio.h>
int main()
{
int a,b,c;
int max;
printf(" 请输入三个整数:");
scanf("%d%d%d",&a,&b,&c);
max = a > b ? a : b; //先找出a、b中最大的;
max = max > c ? max : c; //将a、b中最大的与c比较,最后找出三个中最大的;
printf(" max=%d",max);
return 0;
}
scanf函数虽然使用时很简单但也要遵守以下相应的规则:
- 当我们录入字符型变量时,如果在此次操作之前有录入操作,这时,我们需要一个额外的字符型变量去接收缓冲存储的回车符或其他字符。
- scanf 以回车确定输入结束,并且只接收大回车,不接收小键盘的回车。
- 输入数值时,在两个数值之间需要插入空格(或其它分隔符),以使系统能区分两个数值。
- 在连续输入字符时,在两个字符之间不要插入空格或其它分隔符(除非在scanf函数中的格式字符串有普通字符,这时在输入数据时要在原位置插入这些字符)。