
C语言从控制台输入的方法有:scanf()函数、gets()函数、fgets()函数。其中scanf()是最常用的,因为它功能强大且使用方便。scanf()函数不仅能够读取各种类型的数据,还可以对输入的数据进行格式化处理。本文将详细介绍这几种方法的使用以及各自的优缺点。
一、scanf()函数
scanf()函数是C语言中最常用的输入函数。它可以从标准输入设备(通常是键盘)读取格式化的数据。
1、基本用法
scanf()函数的基本用法如下:
int main() {
int number;
printf("请输入一个整数:");
scanf("%d", &number);
printf("你输入的整数是:%dn", number);
return 0;
}
在这个例子中,%d是格式说明符,表示读取一个整数。&number是变量的地址,表示将输入的数据存储到number变量中。
2、读取多个数据
scanf()函数还可以一次读取多个数据:
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
printf("你输入的整数是:%d 和 %dn", a, b);
return 0;
}
在这个例子中,用户需要输入两个整数,scanf("%d %d", &a, &b);将这两个整数分别存储到变量a和b中。
3、常见问题
1. 忽略空白字符:scanf()函数会自动忽略空白字符(如空格、换行符)。
2. 安全性问题:scanf()函数在处理字符串时可能会导致缓冲区溢出问题。因此在输入字符串时,最好限制输入的长度。
char str[10];
scanf("%9s", str); // 读取最大9个字符,留一个位置给'