C语言 字符数组不等于字符串
在c语言当中,字符串的定义是一个任意长度的字符数组,且其以\0为结尾
而字符数组是不需要以\0作为结束符号的
所以当以下列情况进行时,结果是不相同的
#include<stdio.h> int main(){ char a[]={'i','l','o','v','e','u'}; char b[]="iloveu"; printf("%s\n",a); printf("%s\n",b); puts(a); puts(b); }
其运行结果必然是a数组乱码。
这个时候的解决办法就是补上结束符号\0或者将a这个数组定义为大于其定于的元素个数。