C语言字符数组与字符串问题
charc[10]={'H','E','L','L','O','!','\0'};这里不需要显示地给出字符串结束标志'\0',而charc[]={'H','E','L',...
char c[10]={'H','E','L','L','O','!','\0'};这里不需要显示地给出字符串结束标志'\0',而char c[ ]={'H','E','L','L','O','!','\0'};则要显示地给出字符串结束符'\0',为什么?
展开
2个回答
展开全部
这是在定义时初始化 如果你的右边花括号内的字符个数少于【数组元素个数】 那么其余的数组元素将会初始化为0 , ’\0'的ASCII码的值就是0 ;
如果你不指定数组元素个数 编译器会自动帮你计算出元素个数的
如果你不指定数组元素个数 编译器会自动帮你计算出元素个数的
更多追问追答
追问
编译器会自动帮你计算出元素个数?那为什么要显示地给出字符串结束符'\0'?编译器自动帮你计算出元素个数是6还是7个?
追答
char c[ ]={'H','E','L','L','O','!','\0'}; 这个数组长度是7 (好吧刚给看到 你的还有个!号)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询