char arr1[] = "abc";
char arr2[] = {'a','b','c'};
printf("%s\n",arr1);
printf("%s\n",arr2);
result
第二个结果会出现乱码,是因为单个字符后面没有\0,系统会自动给字符串后面加\0。
strlen打印字符串长度
#include <string.h> //计算字符长度的头文件
arr1中虽然有\0,但是在打印长度时不计算在当中,但\0会占用一个字节。
arr2中没有写\0,所以会出现随机数。
依次取a,b,c,在c后面的内存不知道是什么字符,直到在内存中找寻到\0才会停止,所以在第16个元素的时候找寻到了\0,此过程都是随机的.