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

运行结果有点不一样啊

https://img1.sycdn.imooc.com//5ca419f800016e8a06340398.jpghttps://img1.sycdn.imooc.com//5ca41a0a0001badd07410266.jpg哪里出问题了吗


正在回答

7 回答

使用第二种方式初始化方式声明并初始化二维数组arr2时,每行前面的"//"要去掉。

0 回复 有任何疑惑可以回复我~
#include <stdio.h>
int main()
{
    //使用第一种方式初始化方式声明并初始化二维数组arr1
    int arr1[2][2] = {{10,20},{30,40}};
    //使用第二种方式初始化方式声明并初始化二维数组arr2
    //int arr2[2][2];
    //arr2[0][0] = 10;
    //arr2[0][1] = 20;
    //arr2[1][0] = 30;
    //arr2[1][1] = 40;
    return 0;    
}
//试试


0 回复 有任何疑惑可以回复我~

你这样输入的是当前数组的内存地址,如果需要输出所有元素的值,需要使用for输出。

for(int i=0;i<2;i++){        
    for(int j=0;j<=1;j++){            
        printf("arr1[%d][%d]=%d\n",i,j,arr1[i][j]);        
        }    
   }
0 回复 有任何疑惑可以回复我~

arr输出的是数组地址.arr[i][j]才是数组中一个元素的值,使用循环就是把每一个元素都输出一遍。

0 回复 有任何疑惑可以回复我~

想要得到整个数组就得遍历,若只去一个值就需要下标

0 回复 有任何疑惑可以回复我~

数组名表示首地址,所以你这里输出的是arr2[0][0]的内存地址编号吧,输出数组需要指定下标

0 回复 有任何疑惑可以回复我~

需要用到for循环  进行赋值

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

取个名字好纠结啊 提问者

int arr1[2][2]={{10,20},{30,40}};不就是变量初始化吗? 为什么还要用到for循环赋值
2019-04-04 回复 有任何疑惑可以回复我~
#2

满眼星辰大海 回复 取个名字好纠结啊 提问者

二维数组两行两列 有四个数据 你这里只赋值两个
2019-05-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

运行结果有点不一样啊

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