回味灬那过去的一切
2018-10-05 20:53
#include <stdio.h>
int main()
{
; //使用第一种方式初始化方式声明并初始化二维数组arr1
int arr2[2][2];
arr2[0][0]=1;
arr2[0][1]=2;
arr2[1][0]=3;
arr2[1][1]=4;
//使用第二种方式初始化方式声明并初始化二维数组arr2
printf("%d,%d",arr1,arr2);
}
输出结果我试过了,是两个个数字6356736,6356720 。
我想知道为什么会输出这两个数字???
我改变了下名字,数字没变。只改变arr1的值,输出也没变,。然后改变arr1的内存大小int arr1[2][1]={{1},{3}},输出就变了,而且两个数字都变了。
这是为啥?求大佬解释。
你这样扎别人心,哈哈哈
首先不是我打击你,你写成这样,报错了没检查吗?
你的return 0;呢?
你定义arr1了你就输出?
输出数组不用for循环直接printf?
主函数第一行;分号是什么鬼?
你给这个代码问问题吗?
你输出的是地址,是你电脑内存的地址,。
如果你是问这个题,我会。你要是问地址,我也说不清。
#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;
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%d ",arr1[i][j]);
if(j==1)
{
printf("\n");
}
}
}
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%d ",arr2[i][j]);
if(j==1)
{
printf("\n");
}
}
}
return 0;
}
C语言入门
926024 学习 · 20793 问题
相似问题