这个输出结果是啥呀,可以分洗一下吗

有以下程序 

 

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); 

 

 

程序运行后的输出结果是().

这个就是将str1中的d转换为D,然后打印str1

*s=t-'a'+'A';t='d';

这个式子的实际运算就是将字符转换为了十进制(对照ASCII码表:'d'为100,'a'为97,'A'为65)

实际上是100-97+65=68;然后将68转换为对应的字符D,存入字符串中

然后指针后移,直至空串,打印str1

 

在字符串  str1[100]="abcddfefdbd"中,找到 'd' 字符,并将它替换为大写字母。