实际gdp与名义gdp换算:c语言设计

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/18 18:58:22
有以下程序
?? main()
??{
??int a[3][2]={0},(*ptr)[2],i,j;
??for(i=0;i<2;i++) {ptr=a+i; scanf("%d",ptr); ptr++; }
??for(i=0;i<3;i++)
??{ for(j=0;j<2;j++) printf("%2d",a[i][j]);
??printf("\n");
??}
??}
??若运行时输入:1 2 3<回车>,则输出结果是______。
??A)产生错误信息 B)1 0 C)1 2 D)1 0
?? 2 0 3 0 2 0
?? 0 0 0 0 3 0

谁能说明一下个行的意思
说的越详细越好

B
1 0
2 0
0 0

ptr被声明为数组指针,它指向的数组包含两个int变量,那么ptr=a+i时,ptr就指向a[3][2]这个二维数组的第i行的首部,这时候scanf("%d",ptr)就是给a[i][0]赋值,后面的这个ptr++没什么意义了,因为进入循环体时会执行ptr=a+i;
因此,第一个循环体实际上是给a[0][0]和a[1][0]读入了值,即1,2,后面输入的3其实被没有被读入a,因为i只从0到1循环了。