作者ericdoctor (小黑)
看板Programming
標題[問題] C語言的問題
時間Thu Jun 26 22:57:26 2014
不好意思前面省略
int i;
int *ptr;
int array[3][4] = {{10,11,12,13},{4,5,6,7},{18,19,20,21}};
ptr = (int*)array;
printf("%d\n",array[1][2]);
ptr++;
printf("%d\n",*ptr);
printf("%d\n%d\n",(*(array+1))[1],*((array+1)[1]));
ptr++;
printf("%d\n",*ptr);
最後會印出
5
11
5
18
12
想請問
printf("%d\n%d\n",(*(array+1))[1],*((array+1)[1]));
這邊怎麼會印出5和18的....
看不懂= =
跪求高人幫忙
謝謝!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.121.214.143
※ 文章網址: http://www.ptt.cc/bbs/Programming/M.1403794648.A.19F.html
→ CCWck:第一個應該是6吧? 218.161.29.29 06/26 23:08
→ CCWck:其實你可以print %p直接觀察記憶體位置 218.161.29.29 06/26 23:13