鱼C论坛

 找回密码
 立即注册
查看: 1332|回复: 12

[已解决]萌新求助 字符输入 没有按照预想的跑

[复制链接]
发表于 2020-2-28 10:57:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
        char c;
        printf("input a character:\n");
        c=getchar();
        if(c<32)
        {
                printf("this is a control character\n");
        }
        else if(c>='0'&&c<='9')
        {
                printf("this is a digital\n");
        }
        else if(c>='A'&&c<='Z')
        {
                printf("this is a capital letter\n");
        }

当键盘输入数字的时候 显示出的结果都是 this is a digital
只有在输入相关的字符 如 a A的时候 结果才能对 是什么问题呢 求大佬
最佳答案
2020-2-28 14:07:33
系统它一次只处理一个字符,数字肯定只有0-9.句子肯定也只是this is a digital。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-28 11:01:33 | 显示全部楼层
没问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-28 11:09:39 | 显示全部楼层
发完整的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-28 11:16:52 | 显示全部楼层
#include<stdio.h>
void main()
{
        char c;
        printf("input a character:\n");
        c=getchar();
        if(c<32)
        {
                printf("this is a control character\n");
        }
        else if(c>='0'&&c<='9')
        {
                printf("this is a \n");
        }
        else if(c>='A'&&c<='Z')
        {
                printf("this is a capital letter\n");
        }
        else if(c>='a'&&c<='z')
        {
                printf("this is a small letter\n");
        }
        else
        {
                printf("this is a other character\n");
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-28 11:17:24 | 显示全部楼层

发了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-28 11:19:14 | 显示全部楼层

你要实现什么效果?输入数字提示输入错误?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-28 11:23:32 | 显示全部楼层
一个账号 发表于 2020-2-28 11:19
你要实现什么效果?输入数字提示输入错误?

这个代码意思不是说  当我键盘输入数字的时候 程序会判断并且打印输出不同的英文句子吗 但是当我输入不同数字的时候  运行的结果始终是this is a digital 完全跳不到其他的结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-28 11:31:47 | 显示全部楼层
离年 发表于 2020-2-28 11:23
这个代码意思不是说  当我键盘输入数字的时候 程序会判断并且打印输出不同的英文句子吗 但是当我输入不同 ...

你也没写别的英文句子啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-28 12:20:08 | 显示全部楼层
#include<stdio.h>
void main()
{
         char c;
         printf("input a character:\n");        
         c=getchar();
         if(c<32)                                                               
         {
                 printf("this is a control character\n");              //输入值小于32的,显示this is a control character
         }
         else if(c>='0'&&c<='9')
         {
                 printf("this is a digital\n");                   //输入0到9数字,显示this is a digital
         }
         else if(c>='A'&&c<='Z')
         {
                 printf("this is a capital letter\n");     //输入A到Z数字,显示this is a capital letter

         }
         else if(c>='a'&&c<='z')
         {
                 printf("this is a small letter\n");     //输入a 到z数字,显示this is a  small letter

         }
         else
         {
                 printf("this is a other character\n");    //其它的,显示this is a other character
         }
}

当你输入不同类型的符号,会输出不同的语句,输入数字都是显示一样的语句。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-28 14:06:16 | 显示全部楼层
你这个 char c;这一句就表明系统一次只处理一个字符,输入数字肯定都是那一句。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-28 14:07:33 | 显示全部楼层    本楼为最佳答案   
系统它一次只处理一个字符,数字肯定只有0-9.句子肯定也只是this is a digital。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-28 14:10:25 | 显示全部楼层
本帖最后由 无所谓-浪 于 2020-2-28 14:25 编辑

#include<stdio.h>
void main()
{
        char c;
        printf("input a character:\n");
        c=getchar();
        if(c>='0'&&c<='9')
        {
                printf("this is a digital\n");
        }
        else if(c>='A'&&c<='Z')
        {
                printf("this is a capital letter\n");
        }
        else if(c>='a'&&c<='z')
        {
                printf("this is a small letter\n");
        }
        else
        {
                printf("this is a other character\n");
        }
}
最多就这样,这个程序一次只能判断一个字符,所以不论你输入多少,它只会判断第一个输入的字符。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-28 22:00:33 | 显示全部楼层
当我加了scanf("%c",&c)之后  程序才按照想要的结果去跑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 23:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表