问题 单项选择题

有以下程序:
#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("%s\n",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指向数组中的下一个元素。

填空题
填空题