C语言程序,求详细解释

当输入AabD时,求运行结果
#include<stdio.h>
main()
{char s[80];
int i=0;
gets(s);
while(s[i]!='\0')
{ if(s[i]<='z'&&s[i]>='a')
s[i]='z'+'a'-s[i];
i++;
}
puts(s)
}
求程序的详细解释

#include<stdio.h>
main()
{char s[80];
int i=0;
gets(s); //获取字符串

while(s[i]!='\0')//遍历字符串
{ if(s[i]<='z'&&s[i]>='a') 判断是该字符串是否是小写字母

s[i]='z'+'a'-s[i];//将小写字母转换成其他字母,例如输入的是‘a’, 则转成‘z’,其他根据ascii码值转。

i++;
}
puts(s);输出转换后的字符串。
}

所以你要输入AabD,输出就是AzyD。

希望对你有帮助!!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-28
'A'、'D'不是小写字母,不转换.
'a'进行'z' + ‘a' - 'a'转换后,结果是'z','b'进行'z' + 'a' - 'b'转换后,结果是'y',所以输出是
AzyD
第2个回答  2013-01-28
这段程序的意思是:从键盘输入一串字符,对字符串中的小写字母反向操作,然后输出字符串;

所谓的反向操作,举例说明:输入a-->z ; b->y.....依此类推

若输入12abc! 对应输出12zyx!
相似回答