题目链接:
知识点:
1. 字母的大小写转换的思路是使用 ASCII 码值
2. 大写字母与小写字母的 ASCII 码值相差 32
常见错误案例1:
这里错误的原因是:
忽略了 getchar ( ) 函数的返回值是用户输入的字符的 ASCII码值,所以需要为其创建一个 int 型的变量来存放 getchar( ) 函数的返回值
常见错误案例2:
这里错误的原因是:
忽视了缓冲区的存在,与 getchar ( ) 函数的只读取一个字符的特性
例如:当输入大写字母 A 进入程序后,此时缓冲区中还留有 \n 没有被程序读取,所以当第二次循环开始时,因为此时缓冲区不为空,程序无需等待用户的输入,直接将缓冲区中的 \n 读走,使之作为一个用户输入的字符来使用。
而且程序还存在的问题是: 因为没有判断表达式的存在,程序无法通过键盘的输入 ( 对于键盘的Ctrl + Z ) 来使程序停止。
所以需要加上判断表达式 EOF
所以要使程序可以手动结束,就要设置判断表达式
3. 正确题解:
注意要按照题目要求,使其输出结果分俩行输出
使用 getchar ( ) 函数来拿走缓冲区中的 \n
\n是属于单个字符,所以需要单引号
空语句需要加分号
*EOF的作用是:可以使用户通过键盘的 Ctrl + z 来手动结束,其原理是 Ctrl + z 返回一个数值为 -1,而EOF的返回值就是 -1.这样便可使程序手动退出