单选题 有以下程序:
void ss(char *s,char t)
{ while(*s)
{if(*s==t)*s=t-"a"+"A";
S++;}}
main()
{ char strl[100]="abcddfefdbd",c="d":
ss(strl,c);printf("% s/n" ,strl);}
程序运行后的输出结果是()。
【正确答案】 B
【答案解析】[解析] 在内存中,字符数据以ASCⅡ码存储,它的存储形式与整数的存储形式类似。C语言中,字符型数据和整型数据之间可以通用,也可以对字符型数据进行算术运算,此时相当于对它们的ASCⅡ码进行算术运算,在本题中,s++相当于s=s+1,即让s指向数组中的下一个元素。在函数SS(char*s,char t)中,当*s==t时,*s通过运算变为大写,因此答案选择B) 。