學(xué)了數(shù)組,我有一個(gè)很難的問(wèn)題想問(wèn)
#include <stdio.h>
int main()
{
? ?; //使用第一種方式初始化方式聲明并初始化二維數(shù)組arr1
? ? int arr2[2][2];
? ? arr2[0][0]=1;
? ? arr2[0][1]=2;
? ? arr2[1][0]=3;
? ? arr2[1][1]=4;
? ? //使用第二種方式初始化方式聲明并初始化二維數(shù)組arr2
? ? printf("%d,%d",arr1,arr2);
}
輸出結(jié)果我試過(guò)了,是兩個(gè)個(gè)數(shù)字6356736,6356720 。
我想知道為什么會(huì)輸出這兩個(gè)數(shù)字???
我改變了下名字,數(shù)字沒(méi)變。只改變arr1的值,輸出也沒(méi)變,。然后改變arr1的內(nèi)存大小int arr1[2][1]={{1},{3}},輸出就變了,而且兩個(gè)數(shù)字都變了。
這是為啥?求大佬解釋。
2018-11-27
你這樣扎別人心,哈哈哈
2018-10-06
首先不是我打擊你,你寫成這樣,報(bào)錯(cuò)了沒(méi)檢查嗎?
你的return 0;呢??
你定義arr1了你就輸出??
輸出數(shù)組不用for循環(huán)直接printf?
主函數(shù)第一行;分號(hào)是什么鬼?
你給這個(gè)代碼問(wèn)問(wèn)題嗎?
你輸出的是地址,是你電腦內(nèi)存的地址,。
如果你是問(wèn)這個(gè)題,我會(huì)。你要是問(wèn)地址,我也說(shuō)不清。
#include <stdio.h>
int main()
{
??? //使用第一種方式初始化方式聲明并初始化二維數(shù)組arr1
??? int arr1[2][2]={{10,20},{30,40}};
??? //使用第二種方式初始化方式聲明并初始化二維數(shù)組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;???
}