慕粉1637207462
2017-02-16 17:12
#include
main() { int scores7[10] = {[3] = 10,[5] = 15}; printf("scores7[3] = %i\n",scores7[3]); printf("scores7[4] = %i\n",scores7[5]); } 按道理上说利用建立索引的方法进行初始化了scores7【3】,和【5】,应该就把整个数组初始化了吧,为什么不能输出【4】,而且一直说源文件未编译,或者说我怎么做,都编译不了实际数组使用时都要memset清空,以防这块内存之前使用过,有其他数据。没有给初始值确实可能时随机的。但是你已经初始了几个值,其他没有的就会初始为0,全局和静态数组就默认初始为0
没有给个初值,一般不都是零吗
#include <stdio.h>
int main()
{
int scores7[10] = {[3] = 10,[5] = 15};
printf("scores7[3] = %i\n",scores7[3]);
printf("scores7[5] = %i\n",scores7[5]);
printf("scores7[4] = %i\n",scores7[4]);
return 0;
}
scores7[3] = 10
scores7[5] = 15
scores7[4] = 0
这样?是不是缺东西,没有初始化的,初始化为0.
C语言入门
926021 学习 · 20793 问题
相似问题