#include <stdio.h>
int main(int argc,char * argv[])
{
int a[3][2]={(0,1),(2,3),(4,5)};
int b[3][2]={{0,1},{2,3},{4,5}};
int *p;
int *q;
p=a[0];
q=b[0];
printf("%d\n",p[0]);
printf("%d\n",q[0]);
}
(gdb) p a
$1 = {{1, 3}, {5, 0}, {0, 0}} ----->逗号表达式将二维数组a 赋值成了 { 1 ,3 ,5 ,0,0,0}
(gdb) p b
$2 = {{0, 1}, {2, 3}, {4, 5}}
(gdb)
执行结果 1 0
平时写程序几乎不用逗号表达式竟然没看懂,还需要用gdb调试一下,鄙视一下自己吧