【C语言】三种方式实现字符串(字符数组)的输入输出

天天365彩票软件官方下载3D ⌚ 2025-08-15 13:50:51 👤 admin 👁️ 418 ❤️ 731
【C语言】三种方式实现字符串(字符数组)的输入输出

前言

1. 由于C语言没有字符串类型,字符串的使用需要依靠字符数组实现,本文用 3 个例子实现字符数组的输入输出操作。

2. scanf(); 从键盘输入数据时,遇到 “空格”、“回车” 都会终止。若要接受空格,使用 gets(); 代替 scanf(); 。

3. 多个 scanf(); 同时出现时,上一个 scanf(); 残留的 “回车” 会导致下一个 scanf(); 只读到了 “空格”,若要避免,需在使用 scanf(); 后,使用 fflush(stdin); 。

4. 本文中出现的 gets() 、puts() 函数需引入 string.h 头文件

#include

方法 1 运用字符串函数

char ch1[20];//字符数组

gets(ch1);

puts(ch1);

方法 2 运用一般输入输出函数

char ch2[20];//字符数组

scanf("%s",ch2);

printf("%s\n",ch2);

fflush(stdin);//用完 scanf 后,清除缓冲区

注:需要特别注意的是,使用完 scanf 后,要使用 fflush(stdin) 来清空缓冲区,否则下一次输入操作会读取本次操作剩余的“回车键”。

方法 3 指向字符串的指针 + 中间变量

char buffer[20];

char *ch3;

gets(buffer);

ch3=buffer;

puts(ch3);

注:由于定义指针时,该指针并未初始化,所以不可以直接把输入的值赋给指针,必须经过一个中间变量。

附录

完整测试代码如下:

#include

#include

int main()

{

// 1

printf("1\n");

char ch1[20];

gets(ch1);

puts(ch1);

// 2

printf("2\n");

char ch2[20];

scanf("%s",ch2);

printf("%s\n",ch2);

fflush(stdin);//用完 scanf 后,清除缓冲区

// 3

printf("3\n");

char buffer1[20];

char *ch3;

gets(buffer1);

ch3=buffer1;

puts(ch3);

return 0;

}

结果如下:

相关数据

【Word技巧】打印部分内容或者隐藏不打印的内容,如何操作?

【Word技巧】打印部分内容或者隐藏不打印的内容,如何操作?

在工作中,我们经常需要打印各种Word文档,但有时候,我们只需要打印文档的其中一部分内容,或者有部分内容并不想打印出来,要如何操作呢

07-18 mobile3656
[讨论]想知道美食收益减半的依据是什么?

[讨论]想知道美食收益减半的依据是什么?

查看: 1788|回复: 11 [讨论] 想知道美食收益减半的依据是什么? [复制链接] 熙竹 熙竹 当前离线 积分13 44 活跃6 人气0 军饷 庸庸碌碌 庸庸碌碌, 积

07-17 天天365彩票软件官方下载3D
荸荠怎么长

荸荠怎么长

一、荸荠怎么长 荸荠怎么长:土壤选择与肥料施用的技巧 荸荠是一种常见而美味的蔬菜,它既可供饭桌美食,又具有丰富的营养价值。但是,

06-27 电视直播网365
中国古代十大科学家,第一位的发明领先欧洲1700年,至今难超越

中国古代十大科学家,第一位的发明领先欧洲1700年,至今难超越

祖冲之是中国南北朝时期伟大的数学家和天文学家,他在数学上的主要贡献是首次将“圆周率”精算到小数第七位,也就是在3.1415926和3.1415927之

07-16 mobile3656
您所访问的页面不存在

您所访问的页面不存在

京公网安备 11000002000088号|京ICP证070359号| 药品医疗器械网络信息服务备案|新出发京零 字第大120007号 互联网出版许可证编号新出网证(京)字150号|

07-20 mobile3656
如何登校园网服务器后台

如何登校园网服务器后台

登录校园网服务器后台可以通过以下步骤完成: 第一步:获取登录账号和密码要登录校园网服务器后台,首先需要获取登录账号和密码。通常情

07-09 mobile3656