作者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://webptt.com/cn.aspx?n=bbs/Programming/M.1403794648.A.19F.html
1F:→ CCWck:第一个应该是6吧? 218.161.29.29 06/26 23:08
2F:→ CCWck:其实你可以print %p直接观察记忆体位置 218.161.29.29 06/26 23:13