c语言数组赋值的问题
答案:2 悬赏:0 手机版
解决时间 2021-04-27 01:27
- 提问者网友:凉末
- 2021-04-26 12:44
int k=1,a[2];a[0]=1;k=a[k]*a[0]; 这个K的最终值是不确定的,因为a[1]没有赋值。-------设有定义语句char s[5]={'1','2'} 则s[2]中的字符是\0这是为什么?s[2]同样没有单独赋值,为什么2个题目结果不同?
最佳答案
- 五星知识达人网友:三千妖杀
- 2021-04-26 13:08
首先数组a是单独赋值,因为a[1]没赋值所以值不确定。而字符数组s是直接赋值,如果括号中所给值不等于数组长度,后面顺序用'\0'填充。相当于{'1','2'.'\0','\0','\0'}
全部回答
- 1楼网友:廢物販賣機
- 2021-04-26 14:36
char s[5]={'1','2'} 相当于对数组初始化,这样的话,数组强两个字符是'1' '2',其他字符初始化为'\0',这其实是有对s[2]进行赋值的。
而a数组是没有初始化,自然就没对a[1]赋值。
两个题目结果自然就不同了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯