C 语言的输入函数:scanf66


C 语言中,输入函数 scanf 用于从标准输入(通常是键盘)读取数据。它允许程序员从用户或文件获取信息,将它们存储在变量中,以便进一步处理。

语法scanf(format, &var1, &var2, ..., &varn);

* 其中,format 是一个格式字符串,指定要输入的值的类型和格式。
* &var1、&var2 等是变量地址,其中将存储从标准输入读取的数据。
* % 符号后的字符指定要输入的变量的类型。支持的格式说明符包括:
%c - 字符
%d - 整数 (十进制)
%f - 浮点数
%lf - 双精度浮点数

使用示例

以下示例从用户处获取一个整数并将其存储在变量 num 中:int main() {
int num;
printf("Enter an integer: ");
scanf("%d", &num);
printf("Entered integer: %d", num);
return 0;
}

格式说明符

格式说明符 % 后面的字符指定要读取值的类型:* %c:读取一个字符并将其存储在字符变量中。
* %d:读取一个整数并将其存储在整数变量中。
* %f:读取一个浮点数并将其存储在浮点变量中。
* %lf:读取一个双精度浮点数并将其存储在双精度浮点变量中。

读取多个值

scanf 函数可以一次读取多个值。只需在格式字符串中指定每个值的格式说明符并使用 & 运算符引用每个变量的地址即可。

例如,以下代码从用户处获取一个整数和一个浮点数:int main() {
int num;
float fnum;
printf("Enter an integer and a floating-point number: ");
scanf("%d %f", &num, &fnum);
printf("Entered integer: %d", num);
printf("Entered floating-point number: %f", fnum);
return 0;
}

错误处理

如果 scanf 无法成功读取值,则它会返回一个表示读取到的值的数目。如果预期读取多个值,但实际读取到的值少于预期,则这可能表明存在错误。

以下代码检查 scanf 是否成功读取了预期的值:int main() {
int num;
float fnum;
int result = scanf("%d %f", &num, &fnum);
if (result != 2) {
printf("Error reading values.");
} else {
printf("Entered integer: %d", num);
printf("Entered floating-point number: %f", fnum);
}
return 0;
}

替代输入函数

除了 scanf 之外,C 语言还提供了其他用于输入的函数:* getchar:从标准输入读取单个字符。
* gets:从标准输入读取一行(直到遇到换行符)。
* fscanf:从文件指针读取数据。

2024-11-15


上一篇:C 语言:输出当月月历

下一篇:C 语言 5.3 秒输出