改用getchar代替tolower
时间: 2024-10-21 20:15:06 浏览: 7
getchar的功能和用法
在这个场景中,如果你想继续使用`getchar()`而不是`tolower()`函数,你需要先读取用户输入的一个字符,然后手动将其转换为小写。`getchar()`会阻塞直到用户按下回车键,并读取相应的字符。以下是如何调整代码:
```c
#include <stdio.h>
int main()
{
float t;
char input_char;
// 使用getchar()读取字符,并存储在input_char中
input_char = getchar();
// 确保跳过回车符
while (input_char != '\n') {
input_char = getchar();
}
// 将输入字符转换为小写
input_char = tolower(input_char);
// 判断输入
if (input_char == 'f')
printf("摄氏度是%f\n", t * 9 / 5 + 32);
else if (input_char == 'c')
printf("华氏度是%f\n", 5 - 9 * (t - 32));
// 其他部分保持不变
printf("学号:2301231\n");
return 0;
}
```
在这个版本中,我们首先使用`getchar()`获取用户的输入,然后通过循环读取直至遇到换行符,以此确保只有一个字符被读取。接着,我们将字符转换成小写后进行比较。
阅读全文