你都能发百度了,怎么不知道运行一遍了?
运行一遍不就知道结果了啊
输出结果是:
open the door
解释:
char fun ( char *c )
{if ( *c<='Z' && *c>='A') //如果*c在{'A', 'B', ..., 'Z'}中,
*c -= 'A'-'a'; //则将*c变成对应的小写字母 'A'-'a'意思就是相应的大写字母与小写字母的差值
//能这么写是因为{'A', 'B', ..., 'Z'}和{'a', 'b', ..., 'z'}每一个对应的大小写差值都一样的(因为ABC...在Ascii表中是连续的,abc在ascii表中也是连续的。
//注意'A'-'a'是负数
return *c;
}
答案选D
分析:
从main函数开始执行,读取输入,在while循环中调用fun函数,fun中*c -= 'A'-'a'一句将给进的参数由大写改为小写,因为ascii中大写排在小写之前,故 'A'-'a'为负数,但是*c减去负数即加上正数,故转换为小写,故整个程序将输入的字符串中含有的大写字母转换成小写字母。
答案是:D
函数fun是将大写字母变成小写字母