这是微软测试的一个问题:
main()
{
int a[2][3]= { (1,2,3),(4,5,6)};
int (*ptr)[3] = &a[0];
printf("%d %d\n", (*ptr)[1],(*ptr)[2]);
ptr+=1;
printf("%d %d\n", (*ptr)[1],(*ptr)[2]);
}
给出的选项是:
- 分段故障
- 编译器错误
- 总线错误
- 运行时错误
我运行了这段代码,但没有得到任何结果。我得到以下答案:
6 0
0 0
你能帮我理解发生了什么吗?