猜猜输出的结果:
#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 }};
时间: 2024-12-16 02:57:03