有以下程序: #include〈stdio.h〉 void fun(char *c,int d) { *c=*c+1; d=d+1; printf(’’%c,%c’’,*c,d); } main() {char x=’1’,y=’A’; fun(&x,y)

admin2019-06-27  3

问题 有以下程序:
#include〈stdio.h〉
void fun(char *c,int d)
{ *c=*c+1;
d=d+1;
printf(’’%c,%c’’,*c,d);
}
main()
{char x=’1’,y=’A’;
fun(&x,y);
printf(’’%c,%c\n,x,y)
}   

选项 A、2,B,2,A
B、2,B,B,A
C、1,B,B,1
D、1,B,a,B

答案A

解析 这里主要考查形参和实参之间的值传递,子函数的形参第一个是指针,第二个是实徽,所以第一个参数的值在子函数中改变后在主函数中会体现出来,而第二个参数在子函数中改变后在主函数中不会体现出来;另外,字符可以当作特殊的整数对待,因此在子函数中打印出的是“2,B,”,在主函数中再打印时x的值发生了变化,但y的值没有发生变化,所以打印出的是“2,A”。
转载请注明原文地址:https://kaotiyun.com/show/eiID777K
0

相关试题推荐
最新回复(0)