问答详情
源自:4-1 多个容器:数组

数组的初始化问题

#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个数据就要累死了。😂😭

提问者:慕虎3145518 2021-08-18 16:38

个回答

  • 小小新_Not_Found
    2021-08-19 18:30:16
    已采纳

    无论是 int a[4] = {0} ,还是 int a[4] = {1}, 实质上你都是只给数组中的第一个元素赋值,即,a[0] = 0  or a[0] = 1,没有赋值后面的部分编译器自动补0。想要达到你想要的效果,要么一个一个手动赋值,要么写个循环赋值等等等,方法有很多