在C语言中,`scanf`和`sscanf`是两个常用的输入输出函数,它们都用于处理格式化输入,但使用场景和方式有所不同。
`scanf`函数用于从标准输入(通常是键盘)读取数据。它的基本语法是:
“`c
int scanf(const char format, …);
“`
其中,`format`是一个格式字符串,用于指定输入数据的格式。后面的参数列表表示要读取的数据的地址。例如:
“`c
int a, b;
scanf(“%d %d”, &a, &b);
“`
这段代码会从标准输入读取两个整数,分别存储在变量`a`和`b`中。
`sscanf`函数则用于从字符串中读取数据。它的基本语法是:
“`c
int sscanf(const char str, const char format, …);
“`
其中,`str`是要读取数据的字符串,`format`是格式字符串,后面的参数列表表示要读取的数据的地址。例如:
“`c
int a, b;
char str[] = “10 20”;
sscanf(str, “%d %d”, &a, &b);
“`
这段代码会从字符串`str`中读取两个整数,分别存储在变量`a`和`b`中。
两者的关键区别在于数据来源:`scanf`从标准输入读取数据,而`sscanf`从字符串中读取数据。掌握这两者的使用,是快速掌握C语言输入输出的关键。