char str [4]"abcd"; 这种定义在strlen(str)中为什么不恰当
什么叫不恰当?
你把4去掉,char str[] = "abcd";
你要知道字符串是以空字符结尾的,你的abcd都占用4个字节了,必须还需要1个字节来写入空字符才可以使用strlen()函数;这样子strlen()才能识别到字符串结束了。所以写成str[]和str[5],或者5以上的数字都可以。