·字符型数据
首先先要#include<string.h>
接着如图所示,用char型读取,表明它是字符型,cz为变量名,[20]中的20是内存长度,之后往里面放的数据不能超过19个。(注意:是19不是20!!!因为在数组末尾会有一个\0,需要给它预留一个空位,在某些编译器上运行时如果存储了20个的话会超内存报错)
你也可以不规定数组大小,直接写成char cz[]={0,1,2,3,4,5,6},它会自动为你生成相应的大小(不可变)。
scanf("%s",cz);即为读取该字符串,需要自己输入。
·整型/实数型数据
以整形为例
整型/实数型的写法和字符型其实没有太大的区别,但是有一个值得注意的地方,那就是它的长度无法直接用strchr()函数来读取了,因为它并不是char类型的
所以我们需要一个新方法,就是sizeof()函数,但是,如果只用sizeof()函数也是不正确的!!!它所计算的长度是错误的
你会发现它的长度是它的正确长度的四倍,这是因为在int型中,一个元素占了四个字节的位置,所以不管你输入的长度是多少,使用sizeof()函数返回int型的长度就会是它的正确长度的四倍。
为了改正这个错误,我们需要在使用sizeof()函数时除以该类型的长度,如sizeof(a)/sizeof(int),返回的就会是它的正确长度了
float类型同理,把sizeof(int)替换成sizeof(float)即可
·中文字符
因为一个中文字符占4个字节·,所以说我们无法用一维数组来存储它,这样会导致读取数据时出错。因此我们需要用二维数组进行存储。
zw[][4]的前一个括号中的范围由实际输入决定,后一个括号中的4代表了一个字符所占的字节数,即一个中文字符占四个字节
有关读取数据
如上图所示,直接和其他类型一样,读取zw[所在下标]就行了