用户输入

收藏320

阅读693

更新时间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() 获取多个单词。

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

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

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