猜猜输出的结果:
#include <stdio.h>
int main(int argc, char * argv[])
{
int a[3][2] = { (0, 1 ), (2, 3 ), (4, 5 )};
int *p;
p = a[0];
printf("%d", p[0]);
system("pause");
return 0;
}正确答案是:1
其实这是一道逗号表达式陷阱题,大家可能被数组指针蒙蔽了,看见这个指针指向二维数组,就开始把焦点放在这儿,却忽视了逗号表达式,这也是对二维数组赋值掌握不太熟悉所致,一般表示为
int a[3][2] = { { 0, 1 }, { 2, 3 }, { 4, 5 }};本文出自 “sunshine225” 博客,请务必保留此出处http://10707460.blog.51cto.com/10697460/1708366
原文:http://10707460.blog.51cto.com/10697460/1708366