C语言判断题~求解释!

[复制链接]
查看11 | 回复4 | 2013-3-7 09:49:18 | 显示全部楼层 |阅读模式
错误!"abcde"是一个字符串,末尾有一个隐藏的字符'\0';所以其存储空间应该为6个char所占空间,即6字节,所以应该定义为char str[6]...
回复

使用道具 举报

千问 | 2013-3-7 09:49:18 | 显示全部楼层
错误的字符串"abcde"的长度为6,需要考虑最后的一位结束符'\0'所以str[5]的长度是不够的,会越界...
回复

使用道具 举报

千问 | 2013-3-7 09:49:18 | 显示全部楼层
如果定义的是一个字符数组,可以写成 char str[5] {'a','b','c','d','e'};如果定义的是一个字符串,就需要定义成str[6],如果这个字符串是常量(不会被修改),写成char * str = "abcde"或者char str[] = "abcde";...
回复

使用道具 举报

千问 | 2013-3-7 09:49:18 | 显示全部楼层
字符串"abcde"的长度为6,需要考虑最后的一位结束符'\0',所以应该是 错误的...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行