數組的初始化問題
#include?<stdio.h> int?main(int?argc,char?**argv) { ????int?a[4]?=?{0}; ????return?0; }
我想讓數組所有數據初始值為1,所以這里把a[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; }
沒達到預期效果,打印出來值為1,0,0,0,請問我該怎么改
注:我不想打int a[4]={1,1,1,1},萬一是要打100個數據就要累死了。????
2021-08-19
無論是 int a[4] = {0} ,還是 int a[4] = {1}, 實質上你都是只給數組中的第一個元素賦值,即,a[0] = 0? or a[0] = 1,沒有賦值后面的部分編譯器自動補0。想要達到你想要的效果,要么一個一個手動賦值,要么寫個循環賦值等等等,方法有很多