输入输出字符串的几种方式

一:get()

需要引用库函数

创建一个字符串例如

char a[10];

然后输入字符串

gets(a);例如这里输入hello

在gets输入过程中空格也会被储存

输出字符串

puts(a);就会打印出hello

puts函数输出直到读取到'\0',若是在中间储存字符中有‘\0’则会提前结束

二:fgets()

因为gets()函数输入数组时,不管数组的大小,一股脑的将流中的所有内容全部读入,容易导致数组的越界访问,所以有些不支持gets()的使用,这时我们可以使用fgets()函数

需要引用头文件stdio.h

举例说明三个变量的含义:

上述括号内三个变量分别对应:输入读进arr中;最多读100个1;从标准输入中读取

三:

scanf("%s",&a);会读入一个不含空格,tab,和回车符的字符串,遇到空白字符会停下

scanf也会读取缓存区字符,例如”abc de“,直接在缓存区输入如上字符,scanf

在读取abc后的空格后就会停下输入,而如果接下来还有另一个scanf,则他会直接将剩下的“de“读入,而不会给我们再次输入的机会。

但是只需如图操作可使scanf一直读取,直到读取到\n

printf("%s",a);且会输出数组中全部元素直到读取到’\0'

%s会输出整个char类型数组内字符串,%c用于输出char类型的变量的单个字符

四:

getchar()

读取字符,返回int整型为ascll码值,逐个字符存取,例如11会当成两个1录取,若结尾为EOF则返回EOF,getchar()不能放入变量,但可以让变量=getchar(),注意要为整型变量

如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完后,才等待用户按键。

五:

想要输出整数ascll码值对应的字符时,例如a==97,97对应的asc码值为a,则printf("%c",a),则可打印出字符'a'

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值