问题 单项选择题

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

A.ABCDDEFEDBD

B.abcDDfefDbD

C.abcAMefAbA

D.Abcddfefdbd

答案

参考答案:B

解析: 在内存中,字符数据以ASCII码存储,它的存储形式与整数的存储形式类似。C语言中,字符型数据和整型数据之间可以通用,也可以对字符型数据进行算术运算,此时相当于对它们的ASCII码进行算术运算,在本题中,s++相当于s=s+1,即让s指向数组中的下一个元素。

单项选择题 A型题
单项选择题