1. scanf()
函数
scanf()
函数用于从标准输入(通常是键盘)中按照指定的格式读取数据。它的基本语法如下:
#include <stdio.h>
int scanf(const char *format, ...);
format
参数是一个字符串,包含了格式化指示符,例如%d
(整数)、%f
(浮点数)、%s
(字符串)等。例如:
int num;
scanf("%d", &num); // 从键盘读取一个整数
在上述代码中,%d
是一个格式化指示符,它会将输入的整数赋值给变量num
。
2. sscanf()
函数
sscanf()
函数用于从字符串中按照指定的格式读取数据。它的基本语法如下:
#include <stdio.h>
int sscanf(const char *str, const char *format, ...);
str
参数是包含数据的字符串,format
参数是一个格式化字符串。例如:
char str[] = "42";
int num;
sscanf(str, "%d", &num); // 将字符串中的整数读取到变量num中
在上述代码中,str
字符串中的整数42被读取到了变量num
中。
3. fscanf()
函数
fscanf()
函数用于从文件中按照指定的格式读取数据。它的基本语法如下:
#include <stdio.h>
int fscanf(FILE *stream, const char *format, ...);
stream
参数是一个文件指针,指向待读取的文件。其余部分与scanf()
函数类似。
FILE *file = fopen("data.txt", "r");
int num;
fscanf(file, "%d", &num); // 从文件中读取一个整数
fclose(file);
在上述代码中,文件"data.txt"中的整数被读取到了变量num
中。
4. 格式化指示符
以下是一些常用的格式化指示符:
%d
:以十进制整数形式输入或输出%f
:以浮点数形式输入或输出%s
:以字符串形式输入或输出%c
:以字符形式输入或输出
5. 使用场景
从用户输入中读取数据: 使用
scanf()
函数可以从键盘等标准输入设备中读取用户输入。从字符串中解析数据: 使用
sscanf()
函数可以方便地从字符串中提取特定格式的数据。从文件中读取数据: 使用
fscanf()
函数可以从文件中按照指定格式读取数据。
结语
scanf()
、sscanf()
和fscanf()
是C语言中非常常用的函数,可以满足各种输入需求。然而,在使用这些函数时要小心,确保输入的数据与格式化字符串中的格式相匹配,以避免潜在的错误。熟练掌握这些函数的用法,可以使程序在处理输入时更加灵活和强大。