關于數(shù)組初始化的問題
#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】,應該就把整個數(shù)組初始化了吧,為什么不能輸出【4】,而且一直說源文件未編譯,或者說我怎么做,都編譯不了#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】,應該就把整個數(shù)組初始化了吧,為什么不能輸出【4】,而且一直說源文件未編譯,或者說我怎么做,都編譯不了2017-02-16
舉報
2017-02-19
實際數(shù)組使用時都要memset清空,以防這塊內(nèi)存之前使用過,有其他數(shù)據(jù)。沒有給初始值確實可能時隨機的。但是你已經(jīng)初始了幾個值,其他沒有的就會初始為0,全局和靜態(tài)數(shù)組就默認初始為0
2017-02-19
沒有給個初值,一般不都是零嗎
2017-02-17
#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.