有以下程序 void ss(char *s,char t) { while { *s) if (*s==t) *s-t-’a’ +’A’; S++; main () { c

admin2009-01-15  29

问题 有以下程序      void ss(char *s,char t)      {      while { *s)         if (*s==t)  *s-t-’a’ +’A’;         S++;   main ()    {      char strl [100] =" abcddfefdbd" , c= ’d’;      ss(str1,c); printf ("%s\n" ,str1);    }       程序运行后的输出结果是

选项 A、ABCDDEFEDBD
B、abcDDfefDbD
C、abcAAfefAbA
D、Abcddfefdbd

答案2

解析 本题中的函数ss()有两个参数,一个是字符型指针变量s,另一个是字符型变量t在函数中通过一个while循环,在循环中一次取出s指向的字符串并判断它是否和t中存放的字符相同,若相等,则执行“s=t-’a’+’A’:”  (若是小写字母,则把它转换成大写字母)语句。在主函数中执行函数调用ss(strl,c),很显然是把str1数组中所有字符“d”变成大写字母,其他字符不变。所以4个选项中B正确。
转载请注明原文地址:https://kaotiyun.com/show/MKHp777K
0

随机试题
最新回复(0)