| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
Reworld,下班在家制作游戏,1500万奖金等你拿千里之行 始于足下
共有 198 人关注过本帖
标题:while循环获取输入字符出错,是不是getchar有问题?
只看楼主 加入收藏
niuniuchiniu
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2019-8-10
结帖率:0
  已结贴   问题点数: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
帖 子:22
专家分:53
注 册: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
等 级:新手上路
帖 子:11
专家分:0
注 册:2019-8-10
  得分:0 
谢谢,好像看懂了
2019-08-16 00:11
快速回复:while循环获取输入字符出错,是不是getchar有问题?
数据加载中...
 
   



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

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