if语句嵌套中的问题
程序如下:void main(){
int a,b;
printf("please input A,B: ");
scanf("%d%d",&a,&b);
if(a!=b)
if(a>b) printf("A>B\n");
else printf("A<B\n");
else printf("A=B\n");
getch();
}
可以正常运行,我想问一下:
当输入数字时显示正常,但是如果输入字符时为什么结果就不对了,
例如输入a b结果是A<B,但是输入b a或者a a时结果还是A<B,输入a和b是不是按照它们的ASCII值计算判断大小的?
请各位帮忙解答一下。
----------------解决方案--------------------------------------------------------
你用%C替换%f试试呢
----------------解决方案--------------------------------------------------------
替换过以后运行一闪而过(加了getch()也是一闪而过)。
[此贴子已经被作者于2007-7-9 20:00:58编辑过]
----------------解决方案--------------------------------------------------------
你定义的a,b是int型的,输入字符是肯定不行啊
改下你的数据类型
----------------解决方案--------------------------------------------------------
那应该怎么改,字符就可以比较啊?
[此贴子已经被作者于2007-7-9 20:57:16编辑过]
----------------解决方案--------------------------------------------------------
字符应该是char a,b;后面是%c,%c
----------------解决方案--------------------------------------------------------
这不是字符的原因 而是输入的原因
改为
scanf("%d,%d",&a,&b);
就不会出现问题了
但为啥那样不行 我也没搞清楚
----------------解决方案--------------------------------------------------------
C的乐园: QQ群:42675698
----------------解决方案--------------------------------------------------------