下面程序的运行结果为( )。 #include<stdio.h> void main() { int a[6]={1,2,3,4,5,6},(*c)[3]=a;

下面程序的运行结果为( )。
#include<stdio.h>
void main()
{ int a[6]={1,2,3,4,5,6},(*c)[3]=a;
printf("\n%d", c[1][0]);
}
A.1 B.2 C.4 D.3

4,C正确,选C。但(*c)[3]=a;错大了,应该写成(*c)[3]=(int (*)[3])a;。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-11
#include <stdio.h>
int main(void)
{ //int a[6]={1,2,3,4,5,6},(*c)[3]=a;   //这句编译不过,按 White_MouseYBZ 大神提示修改如下: 
int a[6]={1,2,3,4,5,6},(*c)[3]=(int (*)[3])a;
printf("\n%d", c[1][0]);
//如 White_MouseYBZ 大神所说,这里的确是返回 4 
return 0; 
}