为了账号安全,请及时绑定邮箱和手机立即绑定

数组的初始化问题

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

正在回答

2 回答

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

3 回复 有任何疑惑可以回复我~
#1

慕虎3145518 提问者

谢谢您的解答!
2021-08-19 回复 有任何疑惑可以回复我~
#2

qq_幕布斯0176761 回复 慕虎3145518 提问者

可以用for循环实现
2022-11-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

数组的初始化问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信