知识要求:
了解字符数组可以存放字符,可以存放字符串
了解gets()函数的功能,即把键盘上接受的字符,存放到字符数组中,并自动加上\0。尤其注意gets(),puts()函数的包含文件库 #include<string.h>
了解一个完整的字符串也可以以单个字符的形式逐个输出。
相关细节在注释里标注了!!!
#include<stdio.h>
#include<string.h>//gets(),puts()函数的包含文件库
main()
{ char s[10]="12345";
strcat(s,"6789");
gets(s);
printf("%s\n",s);
for(int i=0;i<=9;i++)
printf("%c",s[i]);
//字符数组里的空格(内存),可以存放任意字符,包括\0。
//当这个字符数组存放的是字符串的时候,有多个\0,以第一个为准,表示字符串结束的标志。
//当这个字符数组存放的是字符的时候,可以用循环输出所有字符,包括|\0.输出的\0是空字符,即空格。
}
分析程序:
01.首先,字符数组里的存储情况是:
gets(s);//gets()函数的功能,即把键盘上接受的字符,存放到字符数组中,并自动加上\0
printf("%s\n",s);//字符数组里的空格(内存),可以存放任意字符,包括\0。它仅仅决定了字符串结束的标志!!!
因此用从键盘输入abc,输出字符串是abc,而不是abc5678.
还说明:
//当这个字符数组存放的是字符串的时候,有多个\0,以第一个为准,表示字符串结束的标志,也就是说后面的字符不再输出!!!
02.for(int i=0;i<=9;i++)
printf("%c",s[i]);
//当这个字符数组存放的是字符的时候,可以用循环输出所有字符,包括\0。输出的\0是空字符,即空格。
如下图: