初学者在学习scanf时,经常会在“scanf可以读入空格,也能读入非法字符”上犯难。
渐渐地,学完了for循环,数组,那么就应运而生了用for循环遍历数组,用scanf写入数据的问题。
那么在程序执行至for循环下的scanf语句时,我们该如何从键盘上输入呢。
下面笔者先以一个简单的例子引入。
#include <stdio.h> //i意为input,o意为output,包含输入输出函数,几乎所有源文件都包含
#include <stdlib.h> //个人习惯问题
main()
{
char a;
scanf("a,",&a);
printf("a=%c",a);
}
电脑上运行得到的并不是a, ,这是因为 ,是非法的。
再来看一个两个变量的例子。
这里有两种情况。
第一种情况:
#include <stdio.h> //i意为input,o意为output,包含输入输出函数,几乎所有源文件都包含
#include <stdlib.h> //个人习惯问题
main()
{
int a,b;
scanf("%d,%d",&a&b);
printf("a=%d,b=%d",a,b);
}
电脑上运行得到的a是正常的,但是b会出现与设想不符的数据,原因是,“”中的序列与后面的参数列表是一一对应的。此时, ,对应&b,而第二个%d却没有对应的&