我想输入一个字符串,将其转换为小写或大写并打印出来。到目前为止,我已经成功地实现了这一点。现在,我想修改我的程序,这样如果输入中有空格,它将打印所有转换后的字母加上空格
例如。,
输入字符串:STACK OVERFLOW输出:堆栈溢出
这是我的代码:
#包括<stdio.h>#包括<stdlib.h>#包括<stdint.h>#包括<string.h>#定义MAX_CHAR 50char to_lowercase(字符字母);char to _uppercase(字符字母);int main(无效){字符用户输入[MAX_char];printf(“输入字符串:”);扫描(“%s”,&user_input);对于(int i=0;i<=MAX_CHAR;i++){if(user_input[i]==0){退出(exit_SUCCESS);}else{printf(“%c”,to_lowercase(用户输入[i]));}}返回EXIT_SUCCESS;}char to_lowercase(字符字母){if((97<=字母)&&(字母<=122)){返回字母;}else if((65<=字母)&&(字母<=90)){返回字母+32;}else if(letter==32){返回字母;}其他的{printf(“无效字符!”);退出(exit_FAILURE);}}char to _uppercase(字符字母){if((65<=字母)&&(字母<=90)){返回字母;}else if((97<=字母)&&(字母<=122)){返回字母-32;}else if(letter==32){返回字母;}其他的{printf(“无效字符!”);退出(exit_FAILURE);}}
我当前的方法是使用ASCII码检查空格(#32),但这实际上不起作用,因为当我键入“STACK OVERFLOW”时,程序只会打印“s”