A-A+

有以下程序: #include<stdio.h> void ss(char *s char

2022-08-05 23:16:59 问答库 阅读 173 次

问题详情

有以下程序: #include<stdio.h> void ss(char *s,char t) { while(*s) { if(*s==t) *s=t-"a"+"A"; s++; } } main() { char strl[20]="abcddfefdbd",c="d"; ss(strl,c); Printf("%sn",strl); } 程序运行后的输出结果是()。
A.ABCDDEFEDBD
B.abcDDfefDbD
C.abcAAfefAbA
D.Abcddfefdbd请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
解析:对字符数据进行算术运算相当于对它们的ASCII码进行算术运算。程序中的t-'a'+'A'是将字符变量t中的字符转换为相对应的大写字母。语句if(*s==t)*s=t-'a'+'A';首先判断s所指元素是否与t中的字符('d')相同,若相同则转换为相对应的大写字母,否则s++,s指向数组中的下一个元素。

考点:程序