C 教程

浏览3732
更新时间2025-08-05

用户输入

你已经学习了如何在 C 语言中使用 printf() 函数来输出值

为了获取用户输入,你可以使用 scanf() 函数:

实例

输出用户输入的数字:

// 创建一个整数变量,用于存储从用户那里获取的数字
int myNum;

// 要求用户输入一个数字
printf("Type a number: \n");

// 获取并保存用户输入的数字
scanf("%d", &myNum);

// 输出用户输入的数字
printf("Your number is: %d", myNum);

运行实例

提示:scanf() 函数有两个参数:变量的格式说明符(上例中的 %d)和引用运算符(&myNum),它存储变量的内存地址。

提示:您将在下一章中了解有关内存地址和函数的更多信息。

多个输入

scanf() 函数还允许多个输入(以下示例中的整数和字符):

实例

// 创建一个整数变量和一个字符变量
int myNum;
char myChar;

// 请求用户输入一个数字和一个字符
printf("Type a number AND a character and press enter: \n");

// 获取并保存用户输入的数字和字符
scanf("%d %c", &myNum, &myChar);

// 打印数字
printf("Your number is: %d\n", myNum);

// 打印字符
printf("Your character is: %c\n", myChar);

运行实例

获取字符串输入

您还可以获取用户输入的字符串:

实例

输出用户的名字:

// 创建一个字符串
char firstName[30];

// 要求用户输入一些文本
printf("Enter your first name: \n");

// 获取并保存文本
scanf("%s", firstName);

// 输出文本
printf("Hello %s", firstName);

运行实例

注意:在使用 scanf() 处理字符串时,你必须指定字符串/数组的大小(在我们的示例中,我们使用了一个非常大的数字30,但至少我们可以确定它将存储足够的字符来表示名字),并且你不需要使用引用运算符(&)。

然而,scanf() 函数有一些限制:它将空格(空白符、制表符等)视为终止字符,这意味着它只能显示一个单词(即使你输入了多个单词)。例如:

实例

char fullName[30];

printf("Type your full name: \n");
scanf("%s", &fullName);

printf("Hello %s", fullName);

// 输入你的全名:Bill Gates
// Hello Bill

从上面的示例中,你期望程序打印出 "Bill Gates",但它只打印出 "Bill"。

这就是为什么在处理字符串时,我们经常使用 fgets() 函数来读取一行文本。请注意,你必须包含以下参数:字符串变量的名称、sizeof(string_name)stdin

实例

char fullName[30];

printf("Type your full name: \n");
fgets(fullName, sizeof(fullName), stdin); // 使用 fgets() 读取一行,包括空格

printf("Hello %s", fullName);

// 输入你的全名:Bill Gates
// Hello Bill Gates

运行实例

使用 scanf() 函数获取单个单词作为输入,并使用 fgets() 获取多个单词。

相关视频

更多

免费

php8,我来也
初级php8,我来也

321849次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

382472次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

282866次学习

收藏

免费

简单聊聊PHP创业那点事
初级简单聊聊PHP创业那点事

13418次学习

收藏
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号