#牛客在线求职答疑中心#c语言中为什么赋值语句char ch[ ][5]={"ABCDE"};不能正确赋值?数组或指针赋值时需要注意什么?
全部评论
在C语言中,char ch[ ][5]={"ABCDE"}; 这样的赋值方式是错误的,因为"ABCDE"是一个字符串,它实际上包含了6个字符,包括末尾的'\0'字符。而ch是一个二维字符数组,它的每个元素是一个字符数组,每个字符数组的大小是5。因此,"ABCDE"的长度超过了ch[0]数组的长度,所以不能正确赋值。
在数组或指针赋值时,需要注意以下几点:
1. 确保赋值的目标和源的长度一致,或者源的长度小于或等于目标的长度。
2. 确保赋值的类型匹配,例如,不能将整数赋值给字符变量。
3. 在使用指针赋值时,需要确保指针指向的内存区域是有效的,并且分配了足够的内存。
4. 在使用多维数组赋值时,需要确保每个维度的长度都是正确的。
相关推荐
不管什么都不想跳动了:本人美团百度快手都待过,建议肯定是直接留快手多一点产出后转正or直接冲字节腾讯暑期吧。一是快手从福利到基建都吊打另外两家。美团现在这个业务比较惨,本来毛利就很低,亏损严重,今年很可能要优化人力降低成本,去了别说日常,就算暑期后面都很可能被优化。百度其实实习生权限挺高的,可以接触到一些含金量高的项目,但是现在的风评不如之前了,薪资也不高。二是转正概率和薪资是跟产出挂钩的,你都在手子已经积累产出了,去其他家日常实习产出都是从0开始,肯定不可能有你在手子转正可能性大啊,现在日常压根没必要去,而且我有两个师弟都是在快手日常转正的,不用太担心,安心留在手子一边多做一点产出然后一边冲字节腾讯暑期,字节腾讯今年实习岗位非常多的,不如好好把握这个,加油。
查看18道真题和解析 点赞 评论 收藏
分享
