數(shù)組的初始化問題
#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; }
沒達(dá)到預(yù)期效果,打印出來值為1,0,0,0,請問我該怎么改
注:我不想打int a[4]={1,1,1,1},萬一是要打100個數(shù)據(jù)就要累死了。????
2021-08-19
無論是 int a[4] = {0} ,還是 int a[4] = {1}, 實(shí)質(zhì)上你都是只給數(shù)組中的第一個元素賦值,即,a[0] = 0? or a[0] = 1,沒有賦值后面的部分編譯器自動補(bǔ)0。想要達(dá)到你想要的效果,要么一個一個手動賦值,要么寫個循環(huán)賦值等等等,方法有很多