c语言 请尽量详细解释

来源:百度知道 编辑:UC知道 时间:2024/05/12 11:18:07
有以下程序
void ss(char *s,char t)
{ while(*s)
{ if(*s==t)*s=t-′a′+′A′;
s++;
}
}
main()
{ char str1〔100〕="abcddfefdbd",c=′d′;
ss(str1,c); printf("%s\n",str1);
}
程序运行后的输出结果是
A)ABCDDEFEDBD
B)abcDDfefDbD
C)abcAAfefAbA
D)Abcddfefdbd
详细点解释 谢了

这个程序应该是要把字符串中的小写d更换为大写D
调用的函数ss 的语句含义为
当*s中内容部位空时,如果指针*s中的内容与t相同 则将*s中内容先减去“a”的ASCLL码再加上“A”的,即把小写字符变为大写,然后s++,即把s地址加1,指向下一个字符
主函数中str1的内容中与t相同的为d,所以把d改为大写
选B

B)

函数ss的作用是,遍历第一个参数所指字符串,如果字符等于第二个参数,则将其变为大写。

abcDDfefDbD
对给定的字符小写转大写