| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1906 人关注过本帖
标题:自动转换大小写字母的程序 ,但当输入值122以上时,总是不能进入printf("别 ...
只看楼主 加入收藏
niuniuchiniu
Rank: 1
等 级:新手上路
帖 子:20
专家分:9
注 册:2019-8-10
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:4 
自动转换大小写字母的程序 ,但当输入值122以上时,总是不能进入printf("别输入大于122的数值")语句
如题:请大伙看看哪有问题。谢谢。

#include<stdio.h>
#include<stdlib.h>
int main(void)
{

    char a;
    printf("请输入一个字母");
    scanf_s("%c", &a);
    if (a >= 81)//输入值为81及以上时;
    {
        if (a <= 122)
        {
            a = a - 32;
            printf("%c", a);
        }
        else
            printf("别输入大于122的数值");//大于122时的判断
    }

    else if (a >= 65)
    {
        if (a <= 90)
        {
            a = a;
            printf("%c", a);
        }
        else
            printf("请别输入大于90小于97之间的字符");
    }
    else
        printf("请别输入小于65的字符");


    return 0;



    system("pause");


}
搜索更多相关主题的帖子: 字母 输入 printf 大于 数值 
2019-08-10 11:06
wufuzhang
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:贵宾
威 望:21
帖 子:206
专家分:1346
注 册:2017-8-9
收藏
得分:20 
scanf_s("%c", &a); 写错了,是scanf("%c", &a);
我试了是可以进入的
图片附件: 游客没有浏览图片的权限,请 登录注册

不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-08-10 12:50
niuniuchiniu
Rank: 1
等 级:新手上路
帖 子:20
专家分:9
注 册:2019-8-10
收藏
得分:0 
谢谢板主,我改了后还是不行。DEV++ 和 VS 中输出的结果都如下
图片附件: 游客没有浏览图片的权限,请 登录注册

2019-08-10 13:27
wufuzhang
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:贵宾
威 望:21
帖 子:206
专家分:1346
注 册:2017-8-9
收藏
得分:0 
你对scanf()函数的理解还不够全,格式符%c,是获取一个字符,然后赋值给a

你输入200,scanf()缓存中就有三个字符:'2'   '0'   '0'
scanf()只把字符'2'赋值给a,'2'的ASCII码是50,当然打印“请别输入小于65的字符”。


大于122的字符如下图:
图片附件: 游客没有浏览图片的权限,请 登录注册

你看我上面的回复,输入‘}’,它就打印“别输入大于122的数值”

不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-08-10 13:44
niuniuchiniu
Rank: 1
等 级:新手上路
帖 子:20
专家分:9
注 册:2019-8-10
收藏
得分:0 
谢谢,原来如此,多谢!
2019-08-10 17:27
快速回复:自动转换大小写字母的程序 ,但当输入值122以上时,总是不能进入print ...
数据加载中...
 
   



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

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