当前位置:首页 > 行业动态 > 正文

c语言input怎么用

在C语言中,scanf() 函数是用于从标准输入(通常是键盘)获取用户输入的常用方式。scanf() 是一个标准库函数,属于 stdio.h 头文件,要使用 scanf() 函数,你需要先包含这个头文件。

以下是 scanf() 函数的基本使用方法和一些高级技巧:

基本语法

#include <stdio.h>
int main() {
    int num;
    printf("请输入一个整数: ");
    scanf("%d", &num); // %d 表示读取整数
    printf("你输入的整数是: %d
", num);
    return 0;
}

在上面的例子中,%d 是一个格式指定符,它告诉 scanf() 函数我们想要读取一个整数。&num 是变量 num 的地址,scanf() 需要这个地址来存储用户输入的值。

格式化输入

scanf() 支持多种不同的格式指定符,用来读取不同类型的数据:

%d 读取十进制整数

%f 读取浮点数

%c 读取字符

%s 读取字符串

%lf 读取双精度浮点数 (double)

%o 读取八进制数

%x%X 读取十六进制数

输入多个值

如果你需要输入多个值,你可以在 scanf() 中使用多个格式指定符:

#include <stdio.h>
int main() {
    int a, b;
    printf("请输入两个整数,用空格隔开: ");
    scanf("%d %d", &a, &b); // 输入两个整数,用空格分隔
    printf("你输入的两个整数分别是: %d 和 %d
", a, b);
    return 0;
}

忽略空白字符

默认情况下,scanf() 会忽略任何非格式指定的输入,包括空白字符(空格、制表符、换行符),如果你想读取字符串中的空白字符,你可以使用 %[^] 格式指定符:

#include <stdio.h>
int main() {
    char str[100];
    // 读取包含空白字符的字符串
    printf("请输入一个字符串(可以包含空格): ");
    scanf("%[^
]", str); // %[^
] 读取直到换行符为止的所有字符
    printf("你输入的字符串是: %s
", str);
    return 0;
}

限制输入长度

为了防止缓冲区溢出,你可以使用 scanf()m 修饰符来限制读取的最大字符数:

#include <stdio.h>
int main() {
    char name[20];
    // 限制读取的字符数量为19个,留一个位置给字符串结束符 '
0