字符和字符串(1)

最近对一个知识点总结一下,就是关于字符的输入和输出

首先字符分为单字符和字符串,单个字符一般放在一个char型变量或者长度为1的数组里面,而字符串一般放在一个数组里面

1.单字符

首先,我们要知道字符的输入和输出都是char类型的 ,而单个字符使用scanf和printf时需要使用%c作为占位符,那么我们就可以写出下面的代码:

char ch;//定义字符
scanf ("%c",&ch);//输入字符
printf("%c",ch;//输出字符

这样我们就可以输入和输出一个字符 (要注意,这里的单个“字符”,可以是一个数字,也可以是一个英文字母,但是不可以是汉字)

除了这个方法,我们还可以使用一个库函数getchar和putchar来进行单个字符的输入和输出,这个函数的头文件是#include <stdio.h>,所以我们不需要再另外写头文件了,具体操作就是:

char ch;//定义字符
ch=getchar();//指出输入方式
getchar();//输入字符
putchar(ch);//输出字符

这样我们就可以通过输入单字符并得到它的输出了

2.字符串

字符串和单字符一样,使用char类型变量,不过字符串的占位符是%s,字符串也相对来说更有门道一点,并且字符串还可以输入输出汉字

首先呢字符串的定义一般选择数组具体是下面这样:

char str[20];//定义一个数组作为字符串的“容器”
scanf("%s",str);//输入字符串(这里由于字符串是定义在数组里的,所以不用取地址&)
printf ("%s",str);//输出字符串

那么让我们输出试试看

很完美,没有一点问题,那我们输入汉字和数字试试

还是没有任何问题

那么如果打一个Hello World 呢?

我们会发现编译器“偷懒”了,它并没有像我们想要的那样输出一个句子,而是输出了一部分就不输出了

其实,这是因为编译器使用scanf时会把空格当做一个“休止符”,当遇到Hello后面的空格时,编译器默认这个读取程序休止,所以只读入了空格前面的问题,那么我们要怎么解决呢?

这个时候我们可以使用另外一个库函数gets和puts来进行对数组的输入和输出,这个时候,数组的输入就不再是以一个空格作为休止符,而是以回车作为休止,那么我们就可以完整地输出一个句子了:

	char str[20];//定义字符串
	gets(str);//输入字符串
	puts(str);//输出字符串

我们试试

很明显,这波gets库函数赢麻了

这一部分先告一段落,下一个部分我将介绍关于字符串的sizeof和strlen的使用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值