A-A+
若有以下程序 include<stdio.h> intk=7: yoidflint料s){
问题详情
若有以下程序 include<stdio.h> intk=7: yoidflint料s){ int*t=&k: *S=t: printf(%d,%d,%d,,k,*t,**s); } main(){ inti=3, *p=&i,**r=&p; f(r);printf(%d,%d,%dn”,i,*P,**r);) 则程序的输出结果是
A.3,7,7,7,7,7
B.7,7,7,3,3,3
C.3,3,3,7,7,7
D.7,7,7,3,7,7
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:D
本题考查了二级指针,二级指针可以保存一级指针的地址。主函数中p指向i,r指向p,函数调用后s指向p,在f函数中t指向全局变量k=7,s指向t,同时s保存了实参p的地址,此时p也指向t,输出三个7,流程转到土函数,i的值为3,p以及r的值为7。