看板 Programming 關於我們 聯絡資訊
不好意思前面省略 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