C语言问题

有以下程序
  void ss(char *s,char t)
  { while(*s)
  { if(*s==t) *s=t-‘a’+’A’;
   s++;
  }
  }
  main()
  { char str1[100]=“abcddfefdbd”,c=’d’;
  ss(str1,c); printf(“%s\n”,str1);
  }
  程序运行后的输出结果是
  A.ABCDDEFEDBD
B.abcDDfefDbD
  C.abcAAfefAbA
D.Abcddfefdbd
为什么选B怎么输出的?

函数void ss(char *s,char t)
的作用是把s指向的字符串中所有t代表的字符变成大写
主函数中调用ss函数:ss(str1,c);就是把str1这个字符串中所有的变量c变成大写,变量c的值是字符d,所以就是把str1中所有的小写字母d变成大写D
温馨提示:答案为网友推荐,仅供参考
相似回答