C语言 比较两个数的大小 #include<stdio.h> main() { int a,b,c; if(a>b,c=a); else c=b;

scanf("%d%d",&a,&b);
printf("%d",c);
}
这段程序有什么问题,为什么输出的都是a的值

正确的程序应该是
#include<stdio.h>
void main()
{int a,b,c;
scanf("%d%d",&a,&b);
if(a>b) c=a; else c=b;
printf("%d",c);
}
问题出在这里:if(a>b,c=a); else c=b;
(a>b,c=a)是一个逗号表达式,表达式的值是c=a的值,如果a为非零值,经过c=a这个表达式之后,c=a的值就变成一个非零值,这样就执行if后面的语句。因为if后面是一个分号,所以什么也不执行,c的值还为a的值,所以输出a的值。
如果a是一个零值,则经过a>b,c=a这个逗号表达式之后,表达式的值是c=a的值。由于a为零值,所以(a>b,c=a)这个逗号表达式值就是c=a的值,也就是零值。这样就不执行if后面的语句,执行else后面的语句。这样c的值就变成b的值。
如果a取0,则输出b的值;如果a取非0值,则什么也不做,a还为c的值。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-07
你的代码。。。。。
if(a>b,c=a);
else c=b;
这不出问题才怪了本回答被网友采纳
第2个回答  2012-09-07
把你的代码显示清楚吧- -
第3个回答  2012-09-07
if(a>b) c=a;

else c=b;

C语言 比较两个数的大小 #include<stdio.h> main() { int a,b,c; i...
正确的程序应该是 include<stdio.h> void main(){int a,b,c;scanf("%d%d",&a,&b);if(a>b) c=a; else c=b;printf("%d",c);} 问题出在这里:if(a>b,c=a); else c=b;(a>b,c=a)是一个逗号表达式,表达式的值是c=a的值,如果a为非零值,经过c=a这个表达式之后,c=a的...

用c语言如何编写一个比较两个数大小的程序
代码如下:include <stdio.h> int main(){ int a=0,b=0;scanf("%d %d",&a,&b);if(a>b)printf("%d > %d\\n",a,b);else if (a<b)printf("%d < %d\\n",a,b);else printf("相等\\n");return 0;} 分析:定义两个变量,然后输入它们,用if判断它们的大小然后用输出语句输出结果。

c语言比较两个数大小的编程帮我看看那里错了
main(){ int a,b,c;scanf("%d%d",&a,&b);if(a>b)a=c;\/\/应该是c=a else b=c;\/\/应该是c=b printf("%d",c);getch();}

c语言比较两个数的大小
if (a>b)printf("a>b");else { if(a==b)printf("a=b");else printf("a<b");} }

c语言中,如何比较两数的大小?
include<stdio.h> int main(){ int a,b,c,max;printf("请输入三个数:\\n");scanf("%d%d%d",&a,&b,&c);if(a>b)max=a;if(c>max)max = c;printf("三个数中最大的数为:%d",max);return 0;}

C语言比较两个数的大小,求找错误~~~
include<stdio.h>main(){int a, b, c;int max(int x,int y);scanf("%d,%d",&a,&b);\/\/格式错误 c=max(a,b);printf("c=%d",c);\/\/格式错误 return 0;}int max(int x,int y){int z;if(x>y) z=x;\/\/ 赋值反了else z=y;\/\/赋值反了 return (z);} 您好,很高兴为您...

C语言编写实现两数相加与比较两数大小!!
include<stdio.h>void main() { int a,b,c; a=123245; b=54321; c=a+b; printf("%d\\n",c);}#include<stdio.h>void main() { int a,b,c; a=123245; b=54321; if ( a>b ) c=a; else c=b; printf("%d\\n",c);} ...

C语言编程比较两个数的大小,输入数后运行显示出结果总是前面的那个
我估计你输入数据的格式没注意的可能性比较大,碰到这种问题加一句printf 显示一下实际的a,b值往往对解决问题有帮助。例如改成这样:define DEBUG1 1#include<stdio.h>main(){int a,b,c;scanf("%d,%d",&a,&b);#if DEBUG1printf("a=%d, b=%d\\n",a,b);#endifc = max(a,b);printf(...

在c语言中,输入两个数,判断两个数的大小关系是大于,小于还是等于,并输 ...
include <stdio.h> include <stdlib.h> int main(void) { int a,b;scanf("%d %d",&a,&b);if(a>b)puts("a > b\\n");else if(a == b)puts("a = b\\n");else puts("a < b\\n");return 0;}

C语言编写“比较两个数大小”的代码是什么
include <stdio.h>int main(){float m,n;\/\/定义单精度变量,用于比较float a = 0,b = 0;\/\/定义单精度浮点型变量,用来存放比较的两数printf("请输入两个数,中间请用空格隔开:\\n");scanf("%f %f",&a,&b);m = a > b ? a : b;\/\/判断,并带入变量mn = a < b ? a : b;...

相似回答
大家正在搜