以下程序运行后,输出结果为______。 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*)mal

admin2009-04-15  45

问题 以下程序运行后,输出结果为______。    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[0][0]的值将被赋值为a[1][1]的值,执行p=*pp;后,p中将是s[0]的值,最后的输出语句将输出地址s[0]所指向的数据,即a[0][0]。
转载请注明原文地址:https://jikaoti.com/ti/XeI0FFFM
0

最新回复(0)