C语言数组初始化问题?
chars[5]={"abc"};chars[5]="abc";这两个的结果是一样的吗还是第一个只是s【0】是字符串abc?...
char s[5]={"abc"};
char s[5]="abc";
这两个的结果是一样的吗
还是第一个只是s【0】是字符串abc ? 展开
char s[5]="abc";
这两个的结果是一样的吗
还是第一个只是s【0】是字符串abc ? 展开
4个回答
展开全部
如果你把数组定义为全局数据(定义在主函数之外),那么编译器会帮你把数组初始化位0,但是如果不是全局数据,那么数组数组元素的值就是不确定的了。(其实是多少与你用的编译器有关,比如vc6.0会把它初始化位十六进制数cc)
但是如果你这样定义数组
int a[10]={1,2};
那么有些编译器会把后面的项初始化为0,但也不能保证所有的编译器都会这样做,所以不建议这样做,尽量对数组进行初始化。
但是如果你这样定义数组
int a[10]={1,2};
那么有些编译器会把后面的项初始化为0,但也不能保证所有的编译器都会这样做,所以不建议这样做,尽量对数组进行初始化。
追问
直接复制 答非所问也是牛逼,长点心吧
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第二个好像是错的 如果是对的应该是差不多的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结果一样,应该是s[0] = ‘a’;s[1] = ‘b’;s[2] = ‘c’;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询