c语言中大小写字母的转换

img


为什么这个代码输一次就结束了,用了while不应该可以连续输入吗

输入一串小写字母回车后有个换行,这个换行让循环结束的,可以增加处理输入的字符为换行符的情况即可。

修改如下:


#include <stdio.h>

int main(void){
    
    char ch;
    scanf("%c",&ch);
    
    // 如果要测试多行数据,增加处理输入的字符为换行符的情况 
    while(ch>='a'&&ch<='z'||ch=='\n'){
        // 如果不是换行,则将小写字母转为对应的大写字母 
        if(ch!='\n'){
            ch=ch+'A'-'a';                
        }
        printf("%c",ch);
        scanf("%c", &ch); 
    }
    
    return 0;
    
} 

img

你输入的数据是什么,如果都是小写字母才能继续

楼上正解,取决于输入的数据

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^