读书人

求解求解!请教 该程序显示无异常为

发布时间: 2013-01-07 10:02:24 作者: rapoo

求解求解!!请问 该程序显示无错误,为什么无论输入a>b还是b>a输出结果均为A>B??

#include<stdio.h>   
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");
}

[解决办法]
程序没问题,你是不是输入的时候两个数字之间没有加逗号,而是用的空格
scanf("%d,%d",&a,&b);
这个规定输入的时候两个数字之间的分隔符是逗号,所以要用逗号。如果用空格的话就会造成scanf读取值的错误
[解决办法]
#include<stdio.h>   
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");
}
你的等价于
#include<stdio.h>   
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"); }//记住if和else 都是一个语句
else
printf("A<B\n");

else
printf("A=B\n");
}

[解决办法]

好像是的;
要入1,2

#include<stdio.h>
void main()
{ int a,b;
printf("please input A,B: ");
scanf("%d,%d",&a,&b);
if(a==b) printf("A=B\n");
else {
if(a>b) printf("A>B\n");
else printf("A<B\n");
}
}

[解决办法]

int a, b;
printf("Please input A B:\n");
scanf("%d %d", &a, &b);
fflush(stdin);
if (a != b)
{
if (a > b)
printf("A > B\n");
else
printf("A < B\n");
}
else
printf("A = B\n");

[解决办法]
你的那程序就对着了啊...

------解决方案--------------------



#include<stdio.h>
int main(void)
{
int a,b;
printf("please input A,B:\n");
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");
return 0;
}

[解决办法]
引用:
程序没问题,你是不是输入的时候两个数字之间没有加逗号,而是用的空格
scanf("%d,%d",&a,&b);
这个规定输入的时候两个数字之间的分隔符是逗号,所以要用逗号。如果用空格的话就会造成scanf读取值的错误


++
[解决办法]
引用:
程序没问题,你是不是输入的时候两个数字之间没有加逗号,而是用的空格
scanf("%d,%d",&a,&b);
这个规定输入的时候两个数字之间的分隔符是逗号,所以要用逗号。如果用空格的话就会造成scanf读取值的错误
++
[解决办法]
程序没有问题呀
[解决办法]
scanf("%d,%d",&a,&b); 中的 "%d,%d" 的 "," 是不是不小心输入了 中文输入法的","了?

读书人网 >C语言

热点推荐