萌新求助 字符输入 没有按照预想的跑
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的时候 结果才能对 是什么问题呢 求大佬
没问题 发完整的代码 #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");
}
}
一个账号 发表于 2020-2-28 11:09
发完整的代码
发了 离年 发表于 2020-2-28 11:17
发了
你要实现什么效果?输入数字提示输入错误? 一个账号 发表于 2020-2-28 11:19
你要实现什么效果?输入数字提示输入错误?
这个代码意思不是说当我键盘输入数字的时候 程序会判断并且打印输出不同的英文句子吗 但是当我输入不同数字的时候运行的结果始终是this is a digital 完全跳不到其他的结果 离年 发表于 2020-2-28 11:23
这个代码意思不是说当我键盘输入数字的时候 程序会判断并且打印输出不同的英文句子吗 但是当我输入不同 ...
你也没写别的英文句子啊 #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 asmall letter
}
else
{
printf("this is a other character\n"); //其它的,显示this is a other character
}
}
当你输入不同类型的符号,会输出不同的语句,输入数字都是显示一样的语句。 你这个 char c;这一句就表明系统一次只处理一个字符,输入数字肯定都是那一句。 系统它一次只处理一个字符,数字肯定只有0-9.句子肯定也只是this is a digital。
本帖最后由 无所谓-浪 于 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");
}
}
最多就这样,这个程序一次只能判断一个字符,所以不论你输入多少,它只会判断第一个输入的字符。 当我加了scanf("%c",&c)之后程序才按照想要的结果去跑
页:
[1]