有以下程序: #include<stdio.h> voidfun(char*c,intd) {*c=*c+l; d+=1; printf(’’%c,%c’’,*c,d);} main( ) {chara=’F’,b=’f’; fun(&b,a); p

admin2020-06-16  21

问题 有以下程序:
#include<stdio.h>
voidfun(char*c,intd)
{*c=*c+l;
d+=1;
printf(’’%c,%c’’,*c,d);}
main(    )
{chara=’F’,b=’f’;
fun(&b,a);
printf(’’%c,%cha’’,a,b);}
程序的输出结果为(    )。

选项 A、g,GF,g
B、g,FF,g
C、G,fF,G
D、f,gf,g

答案A

解析 此题考查的是函数参数的传递。main函数中首先调用fun函数,fun函数的功能是使字符c的AScⅡ码值加1并输出,使d加1并输出对应的字符;fun(&b,a)输出”g,G”,但是由于fun函数的第一个参数进行的是地址传递,而第二个参数进行的是值传递,所以main函数中的printf函数输出”F,g”。
转载请注明原文地址:https://kaotiyun.com/show/JZCp777K
0

最新回复(0)