问题描述
我目前对C还是陌生的,所以事情的工作方式对我来说仍然有些陌生,因为我来自Java的OOP背景。我正在尝试从终端获取输入,然后将其转换为所有小写字母,但是该功能似乎无法正常工作。有什么建议吗?
#include <stdio.h>
int lower(int c){
if (c >= 'A' && c <= 'Z')
return c + 'a' - 'A';
else
return c;
}
int main(){
int c;
while ((c = getchar()) != EOF){
lower(c);
putchar(c);
}
}
解决方法
代码应使用lower
的返回值:
putchar(lower(c));
您可能还希望使用标准库函数tolower
。