标题:while循环获取输入字符出错,是不是getchar有问题?
只看楼主
niuniuchiniu
Rank: 1
等 级:新手上路
帖 子:20
专家分:9
注 册:2019-8-10
结帖率:33.33%
已结贴  问题点数:10 回复次数:2 
while循环获取输入字符出错,是不是getchar有问题?
大神们,如图!想要获取输入字符的大小写对应模式及其他字符,如数字,空格,代码与视频上的代码一样,输出结果大不一样,不知道哪里出问题,求教,谢谢。

#include <stdio.h>
#include <Windows.h>
#include <stdlib.h>
#define _CRT_SECURE_NO_WARNINGS

void judge(char data)
{
    while (1)
    {
        
        getchar();//
        
        if (data >= 'A'&& data <= 'Z')//输入为大写的情况
        {
            
            printf("%c\n", data += 32);
        }        
        else if (data >= 97 && data <= 122)//输入为小写字母
        {
            printf("%c\n", data -= 32);
        }
        else if (data >= 48 && data <= 57)//数字原样输出。
        {
            printf("%c\n", data);
        }
        else if (data == 32)//空格
        {
            printf("this is a space key \n");
        }
        else
        {
            printf("Others\n");
        }            
        
    }
   
   
}
int main()
{

    char data = getchar();
   
    judge(data);
   
    system("pause");
   


   
}

搜索更多相关主题的帖子: 输入 字符 getchar data printf 
2019-08-10 18:12
H_M
Rank: 2
等 级:论坛游民
威 望:1
帖 子:23
专家分:60
注 册:2019-2-7
得分:10 
回复 楼主 niuniuchiniu
打破零回复,也只需要一个回复。
一些问题在下面代码里面,还有疑问可以问,希望能够帮到你。
程序代码:
#include <stdio.h>
#include <Windows.h>
#include <stdlib.h>
#define _CRT_SECURE_NO_WARNINGS

void judge()
{
    while (1)
    {
        int data;    
        data = getchar(); //从主函数传值过来,data变化不了
        if (data >= 'A'&& data <= 'Z')//输入为大写的情况
        {
            printf("%c\n", data += 32);
        }        
        else if (data >= 97 && data <= 122)//输入为小写字母
        {
            printf("%c\n", data -= 32);
        }
        else if (data >= 48 && data <= 57)//数字原样输出。
        {
            printf("%c\n", data);
        }
        else if (data == 32)//空格
        {
            printf("this is a space key \n");
        }
        else
        {
            printf("Others\n");
        }
        getchar();    //获取 回车    ,也就是'\n'字符。
    }
}
int main()
{    
    judge();
    system("pause");
}



[此贴子已经被作者于2019-8-13 00:32编辑过]


无思路要敲代码,无思路不敲代码
2019-08-13 00:23
niuniuchiniu
Rank: 1
等 级:新手上路
帖 子:20
专家分:9
注 册:2019-8-10
得分:0 
谢谢,好像看懂了
2019-08-16 00:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-496322-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.282779 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved