请问大神定义char s[5]={'1','2','3','4','5'};和char s[5]={“12345”};有错吗?为什么?谢谢! 5
请问大神定义chars[5]={'1','2','3','4','5'};和chars[5]={“12345”};有错吗?为什么?谢谢!...
请问大神定义char s[5]={'1','2','3','4','5'};和char s[5]={“12345”};有错吗?为什么?谢谢!
展开
4个回答
展开全部
第一个定义了5个字符,定义本身没有错。第二掘历定义了一个字符串,长度越界。因为字符串必须包括一个\0的结束符,所以会占6个字节,用你的方法就越界了。
不过用第一种定义方法,你要用数组的方法去操作,不能用字符串的方法处理(因为它不是判樱搜字符串,少结束符),估计你说的乱码可能是这个问题。如果你的答案说是2个都有错,那就要看一下颂档后面是怎么用的。
不过用第一种定义方法,你要用数组的方法去操作,不能用字符串的方法处理(因为它不是判樱搜字符串,少结束符),估计你说的乱码可能是这个问题。如果你的答案说是2个都有错,那就要看一下颂档后面是怎么用的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个是定义了5个变量,1,2,3,4,5,而第二个定义是定义了一个变量12345,两者定义不一样
更多追问追答
追问
有错吗?不是要你解释区别
追答
第一个没有,第二个不能用双引号的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个没蚂腊手错,第2个字符串后面会局此带结束符'\0',会有6个元素,会越界。第2中大括号闷嫌写不写是一样的
追问
可是第一个编译运行时后面会乱码的,而且书上说第一个也是长度不对,要定义成char s[6]={'1','2','3','4','5'};才对,是这样的吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询