#include <stdio.h>
int main()
{
char arr1 [] = "abcd";//放的是字符串
char arr2 [] = { 'a','b','c','d' };//放的是一组字符
printf("%s\n",arr1);
printf("%s\n", arr2);
return 0;
}
在VS中的输出结果图如下
会发现数组2输出结果并不正确,是因为只有字符串会默认后面有\0,而\0是字符结束的标志,而数组1是一个字符数组,所以没有默认的\0。
之所以出现上面那种输出错误,是因为对于数组2,没有结束标志,它就一直在往下输出,直到找到了\0。