C语言二维数组赋值问题

比如定义一个数组a[3][5],需要用户输入元素值,但用户只输入了一个元素的值,怎样实现将之后的14个变量自动取0的操作
另外如果,用户给了16个数据越界了如何让判断呢?

先直接将数组所有元素赋为0,然后按照用户输入逐个给元素赋值,这样没有赋值到的元素自然是0。追问

那如果用户给了16个数据越界了该如何让判断呢?
用双重循环的话,因为每次输入的的数据个数不一样,如果不输入15个数据,循环不会结束啊
比如
int array[5][3] = {0};
int m, n;
for (m = 0; m < 5; m++)
{
for (n = 0; n < 3; n++)
{
scanf_s("%d", &array[m][n]);
}
}

追答printf("请输入数据,输入-1结束\n");
for (m = 0; m < 5; m++)
{
    for (n = 0; n < 3; n++)
    {
        int t;
        scanf_s("%d", &t);
        if(t==-1) break;
        array[m][n]=t;
    }
}
温馨提示:答案为网友推荐,仅供参考
相似回答