1、在使用scanf 函数进行输入时,要对变量取地址,使用&
1> 变量实例
int b = 10;
int a = 20;
l 1>内存由大到小寻址,优先分配内存地址较大的字节给变量。b的内存地址比a大
l 2>每个变量都有地址:第一个字节的地址就是变量的地址
2、在该函数的格式化中,不能添加除格式化外的内容
scanf注意事项
例:
scanf("a=%d,b=%d",&a,&b);
printf("Hello, World! ");
printf(" %d,%d",a,b);
printf("Hello, World! ");
printf(" %d,%d",a,b);
输出结果:0,0
在scanf格式串后面加'
'字符,会抵消掉人工输入的回车,敲回车不起作用,程序无法输出,解决方法,再输入一个符号,例逗号,然后再输入回车
例:
scanf("%d%d
",&a,&b);错误
printf(" %d,%d ",a,b);
printf(" %d,%d ",a,b);
//输入时必须在两个数字之间输逗号,即与格式传中保持一致
例:
scanf("%d,%d",&a,&b);
printf(" %d,%d ",a,b);
scanf("%d,%d",&a,&b);
printf(" %d,%d ",a,b);
3、使用该函数一定要使用大键盘(小键盘,数字与快捷键组成)
小键盘回车与大键盘回车ASCII码值不同,所以作用在不同场合有所不同
4、scanf()函数返回成功读入的项目的个数。即在下面程序中scanf的返回值为1
int n;
float p;
n= scanf("%f",&p);
printf("%d,%f",n,p);
float p;
n= scanf("%f",&p);
printf("%d,%f",n,p);
5、用%c读入空格和字符的问题。如果在格式字符串中%c之前有一个空格,那么scanf()会跳到第一个非空白字符处。也就是说,命令scanf(“%c”,&ch)读取在输入中遇到的第一个字符,而scanf(“ %c”,&ch)(%c前有个空格)则读取遇到的第一个非空白字符。
对于同时输入几个字符,如果逗号(或任何非空格字符)和第一个%c之间没有间隔,则输入时,第一个字符与逗号之间也不能有间隔;如果有空格,则输入时,第一个字符和逗号之间可以有任意多个字符,也可以是0个。如果逗号和第二个%c之间没有间隔,则逗号和第二个输入字符间也不能有间隔。如果有空格,则输入时,第二个字符和逗号之间可以有任意多个字符,也可以是0个。