有以下程序  #include<stdio.h>  void fun(char *a,char *b)  {   a=b;   (*a)++;  }  main()  {   char ch1=’A’,ch2=’a’,*p1=&ch1,*p2=&ch

admin2022-04-02  931

问题 有以下程序
 #include<stdio.h>
 void fun(char *a,char *b)
 {
   a=b;
   (*a)++;
 }
 main()
 {
   char ch1=’A’,ch2=’a’,*p1=&ch1,*p2=&ch2;
   fun(p1,p2);
   printf("%c%c\n",ch1,ch2);
 }
 程序运行后的输出结果是(          )。

选项 A、Aa
B、Ab
C、ab
D、Ba

答案B

解析 函数fun将形参b赋给形参a,使得a和b都指向原b所指向的地址,然后对该地址的值执行自增1;main函数中p1指向ch1,p2指向ch2。通过fun函数的调用,将ch2的值完成自增1,字符‘a’自增1后变成字符‘b’,所以程序输出:Ab。本题答案为B选项。
转载请注明原文地址:https://jikaoti.com/ti/FOd0FFFM
0

最新回复(0)