c语言编程,三个数求最大值,总是3129,为什么呢

2024-11-07 16:56:11
推荐回答(5个)
回答(1):

scanf(“%d,%d,%d",&a,&b,&c)
四个参数
第一个参数:“%d,%d,%d”指示输入三个整数,中间用逗号隔开
第二个参数:&a,对应第一个%d,表明输入一个整数之后,把它的值赋给a
第三个参数:&b,对应第二个%d,表明输入一个整数之后,把它的值赋给b
第四个参数:&c,对应第三个%d,表明输入一个整数之后,把它的值赋给c
scanf(“%d,%d,%d,&a,&b,&c”)
一个参数
第一个参数:“%d,%d,%d,&a,&b,&c”,格式化输入三个整数,中间用逗号隔开,输入的数据以“,&a,&b,&c”结尾
好好去看看scanf的用法,你改成第二个样子,那么abc都是未赋值的,比较大小的时候自然是不正确的结果了

回答(2):

scanf("%d,%d,%d,&a,&b,&c");导致你输入的值并没有赋值给abc,从而abc是伪随机值【系统从内存中读取的数值,属于随机值,但编译过程中不再改变,故称伪随机】
abc的值不是你输入的,那么后面的判断也就没用了,所以结果不是你期望得到的值。

故,scanf("%d,%d,%d“,&a,&b,&c);才可以

回答(3):

你一定没有给a,b,c赋初值!
由于键盘输入的数字并没有赋给a,b,c,因此,他们的值在程序编译的时候已经固定了,所以无论你输入什么,结果都不会变!

回答(4):

你改了后可以运行吗
应该会卡在scanf吧
你这样写你的数据输入要写下面这样才可以运行到下一句
1,2,3,&a,&b,&c
你看看scanf的使用吧,你这样的输入也不可以给a,b,c 赋值

回答(5):

把scanf("%d,%d,%d,&a,&b,&c");改成scanf("%d%d%d“,&a,&b,&c);
%d中间的两个逗号去掉,然后就是双引号,要看好书,养成写规范代码的好习惯..不能只看谭浩强