解惑:字符数组

知识要求:
了解字符数组可以存放字符,可以存放字符串
了解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是空字符,即空格。
如下图:在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/YJG7D314/article/details/87525704