以下程序运行后,输出结果为______。 main() { int a[2][3]={1,3,5,7,9,11},*s[2],**pp,*p; s[0]=a[0],s[1]=a[1]; pp=s; p=(int*

admin2009-02-15  19

问题 以下程序运行后,输出结果为______。    main()    {     int a[2][3]={1,3,5,7,9,11},*s[2],**pp,*p;     s[0]=a[0],s[1]=a[1];     pp=s;     p=(int*)malloc(sizeof(int));     **pp=s[1][1];     p=*pp;     printf("%d\n",*p);    }

选项 A、1
B、7
C、9
D、11

答案4

解析 s是一个含有两个元素的指针数组,pp是—个指向指针变量的指针,s[0]是指向二维数组a行下标为0的元素的首地址,即a[0][0]的地址,s[1]为a[1][0]的地址。pp的值为s[0]的地址。**pp=s[1][1]后,a[O][0]的值将被赋值为a[1][1]的值,执行p=*PP;后,p中将是s[0]的值,最后的输出语句将输出地址s[0]所指向的数据,即a[0][0]。
转载请注明原文地址:https://kaotiyun.com/show/tDXp777K
0

最新回复(0)