猿问

一个简单的问题

#include <stdio.h>
int main()
{

int x[][3]={1,2,3,4};
for (int i=0;i<3;i++)
{
    for(int j=0;j<3;j++)
    {
    printf("%d",x[i][j]);
    }
}
    return 0;    
}

请问

为何输出是  123400022

最后的22是哪里来的?

bruce王
浏览 1396回答 2
2回答

慕粉3913390

记得c给初始化数组的时候 ,不会自动设 0,所以那些没有设定值的不一定为0,地址原先数据是什么就是什么 , 所以在c数组初始化的时候,最好先全部设0,

望远

后面那三个数值是随机值,你遍历二维数组的时候出错了,应该是for (int i=0;i<2;i++){    for(int j=0;j<3;j++)}}
随时随地看视频慕课网APP
我要回答