數(shù)組的初始化問(wèn)題
#include?<stdio.h> int?main(int?argc,char?**argv) { ????int?a[4]?=?{0}; ????return?0; }
我想讓數(shù)組所有數(shù)據(jù)初始值為1,所以這里把a(bǔ)[4]=0改成a[4]=1,如下:
#include?<stdio.h> int?main(int?argc,char?**argv) { ????int?a[4]?=?{1}; ????printf("%d,%d,%d,%d",a[0],a[1],a[2],a[3]); ????return?0; }
沒(méi)達(dá)到預(yù)期效果,打印出來(lái)值為1,0,0,0,請(qǐng)問(wèn)我該怎么改
注:我不想打int a[4]={1,1,1,1},萬(wàn)一是要打100個(gè)數(shù)據(jù)就要累死了。????
2021-08-19
無(wú)論是 int a[4] = {0} ,還是 int a[4] = {1}, 實(shí)質(zhì)上你都是只給數(shù)組中的第一個(gè)元素賦值,即,a[0] = 0? or a[0] = 1,沒(méi)有賦值后面的部分編譯器自動(dòng)補(bǔ)0。想要達(dá)到你想要的效果,要么一個(gè)一個(gè)手動(dòng)賦值,要么寫(xiě)個(gè)循環(huán)賦值等等等,方法有很多