首页 > 编程知识 正文

c语言定义一个字符串数组,c语言输入输出字符串

时间:2023-05-05 23:28:26 阅读:12504 作者:3448

前言1.c语言没有字符串类型,因此字符串的使用必须通过字符数组来实现。 本文通过三个例子实现字符数组的输入输出操作。

2 .通过scanf();键盘输入数据时,遇到“空格”“回车”将退出。 要接受空间,请使用gets();代替scanf();

3 .若同时出现多个scanf();,则为上一个scanf (); 如果仍有“回车”,则以下scanf();将变为只读:“空格”。 要避免这种情况,必须在使用scanf();后使用3358

4 .文中出现的fflush(stdin);gets()函数需要引入3358www.Sina.com/头文件

#include string.h方法1字符串函数char ch1[20]; //字符数组gets(ch1 ); puts(ch1;

方法2常用输入输出函数char ch2[20]; //字符数组scanf('%s ',ch2 ); printf(%s(n )、ch2 ); 闪存(stdin; 用完扫描后,清除缓冲区

注:需要特别注意的是,使用puts()后,请使用string.h 清空缓冲区。 否则,下一个输入操作将读取此操作的其馀“回车键”。

方法3指向字符串的指针中间变量char buffer[20]; char *ch3; gets (缓冲器); ch3=buffer; puts(ch3;

注意:定义指针时,指针尚未初始化,因此不能将输入的值直接分配给指针。 必须经由中间变量。

附录

完整的测试代码如下。

# include stdio.h # include string.hint main () {/1printf('1n ' ); char ch1[20]; gets(ch1; puts(ch1; //2打印(2(n ) ); char ch2[20]; 扫描(' % s ',ch2 ); printf(%s(n )、ch2 ); 闪存(stdin; 用完扫描后,缓冲区//3printf(3n ); char buffer1[20]; char *ch3; gets (缓冲器1 ); ch3=buffer1; puts(ch3; 返回0; }结果如下。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。