让我们开始介绍C语言中scanf的用法。
什么是scanf?
scanf函数是C语言中的一个标准库函数,用于从标准输入中读取一定格式的数据。其函数原型为:
int scanf(const char *format, ...)
我们通常调用scanf函数时,需要向其传递一个格式字符串,以指明我们要读取的数据的格式,此外,我们还需要传递一个或多个指向我们要存储读取结果的变量的指针。
格式字符串
scanf的格式字符串是一个由格式控制字符组成的字符串。格式控制字符指定了scanf应该从输入流中读取的数据类型。下表列出了一些常用的格式控制字符:
格式控制字符 | 说明 |
---|---|
%d | 读取整数 |
%ld | 读取长整数 |
%f | 读取浮点数 |
%lf | 读取双精度浮点数 |
%c | 读取字符 |
%s | 读取字符串 |
除此之外,还有许多其他的格式控制字符,可以通过C语言规范或参考资料进行了解。
在格式字符串中,我们可以使用空格、制表符、换行符等空白字符来分隔输入。
另外,我们可以使用方括号[]表示可接受的字符集合,例如,[0-9a-fA-F]表示可以接受十六进制数字和大小写字母。
我们同样可以使用^表示字符集合的补集,例如,[^a-z]表示可以接受除了小写字母以外的任何字符。
示例说明
下面我们通过两个示例来说明scanf的用法。
示例一
#include <stdio.h>
int main() {
int a;
float b;
char c;
printf("请输入一个整数、一个浮点数和一个字符:");
scanf("%d%f %c", &a, &b, &c);
printf("\n你输入的是:%d, %.2f, %c\n", a, b, c);
return 0;
}
在这个示例中,我们使用了三个变量a、b、c来存储输入的结果,格式字符串"%d%f %c"表示我们要读取一个整数,一个浮点数和一个字符,其中%d表示读取一个整数,%f表示读取一个浮点数,%c表示读取一个字符。注意,我们使用空格来分隔不同的输入项。
示例二
#include <stdio.h>
int main() {
int n;
char str[100];
printf("请输入一个整数和一个字符串:");
scanf("%d %[^\n]", &n, str);
printf("\n你输入的是:%d, %s\n", n, str);
return 0;
}
在这个示例中,我们使用了一个整数变量n和一个字符数组str来存储输入的结果,格式字符串"%d %[^\n]"表示我们要读取一个整数和一行字符串,其中%d表示读取一个整数,%[^\n]表示读取一行字符串(除了换行符以外的所有字符)。注意,我们使用了修饰符^来表示读取到换行符为止,也就是读完整行字符串。
以上就是关于C语言中scanf函数的用法的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言中scanf的用法举例 - Python技术站