gets输入,puts输出
- gets用来输入一行字符串(识别换行符\n作为输入结束),puts用来输出一行字符串
#include<stdio.h>
int main(){
char str1[20];
char str2[2][10];
gets(str1);//一维字符串直接获取
for(int i = 0; i < 3; i++){
gets(str2[i]);//二维字符串通过循环来获取
}
puts(str1);
for(int i = 0; i < 3; i++){
puts(str2[i]);//通过循环来输出
}
return 0;
}
- 字符数组的每一位都是一个char字符。除此之外,在一维字符数组(或二位字符数组的第二维)的末尾都有一个空字符\0,以表示存放的字符串的结尾。空字符\0在使用gets或scanf输入字符串时会自动添加在输入的字符串后面,并占用一个字符位,而puts和printf就是通过识别\0作为字符串的结尾来输出的。
- 结束符\0的ASCII码为0,即空字符NULL,占用一个字符位,因此开字符数组的时候要记得字符数组的长度一定要比十几存储字符串的长度至少多1.注意:int型数组的末尾不需要加\0,只有char型需要。还需要注意\0与空格不是一个东西,空格的ASCII码是32