c语言scanf函数讲解
不讲解scanf函数的基础用法,强调一下使用这个函数的时候,需要注意的问题。
程序1:该程序从键盘接收1个字符,然后在屏幕输出该字符,进行10次循环
#include<stdio.h>
int main(void){
char s;
int n = 10;
for(k = 0; k < n ; k ++) {
scanf("%c",s);
printf("%c",s);
}
}
运行结果:
我们设定的是输入10次,但是,这个程序只能输入5次。问题在于,你先输入一个数字,然后回车,这个回车也被scanf函数读入。然后这个回车又被print出来。所以,程序每次输出数字以后,会自动回车。因为,c读入了你之前从键盘键入的那个回车。
程序2:这个程序没有什么实际用处,只是用来方便讲解
#include<stdio.h>
int main(void){
char c;
printf("hello world\n");
scanf("%c",&c);
printf("%c",c);
}
运行结果:
等待输入字符
输入字符a
这个程序printf的结尾有一个\n回车,这个回车不会被scanf函数读入,scanf函数只接收来自键盘的输入。所以程序的运行结果,不是hello world\n\n。
程序3:如果从键盘接收的是字符,但这些字符之间要输入空格的时候,代码要怎样写
#include<stdio.h>
int main(void){
char a,b;
int c;
scanf("%c %c %d",&a,&b,&c);
printf("%c%c%d",a,b,c);
}