一、问题
在程序开发中,有时需要设计⼀个⼀次输⼊多个数值的模块,那么如何控制呢?
二、解答
scanf()函数⼀次可以输⼊⼀个数值,也可以输⼊多个数值,⽽且多个数值类型可以相同,也可以不相同。⽤ scanf()输⼊的多个数据之间⽤C语⾔标准分隔符分开。
标准分隔符包括以下3个:空格、Enter键、Tab 键。例如:
scanf("%d%d",&a,&b);为a,b输⼊10 和20时,可以有以下⼏种输⼊⽅法。第一种:10 20 //(空格)第二种:1020 //(Enter键)第三种:10 20 //(Tab键)
标准分隔符的个数可以是多个,也可以混⽤。例如,上⾯空格可以是3个,也可以是 5个,还可以输⼊⼏个空格后再输⼊⼏个回车。
这是在 scanf()的双引号中只有格式说明符的情况,如果还有其他字符呢?
输⼊⽅式是 scanf()语句中有什么,执⾏时就输⼊什么,或称“格式声明符之外的其他字符输⼊时直接输⼊”。
例如:
scanf("%d,%d"); //此时就输⼊10,20。
如果输⼊数据中包含字符型,那么字符型输⼊时不⽤分隔符。
例如:
#include <stdio.h>
int main()
{int a, b;char c;scanf("%d%c%d", &a, &c, &b);printf("a=%d,b=%d,c=%c\n", a, b, c);return 0;
}
输⼊10x20 结果是:
10x20
a=10,b=20,c=x//a 的值是 10,b的值是20,c的值是字母x
输⼊10 20结果是:
10 20
a=10,b=20,c= //结果c的值就是空格。
三、总结
以上规则可以保证输⼊多个数的控制。