这个scanf函数里的逗号为什么有的可以翻译出来,有的不行

写代码取最大值的时候中间有逗号,输入两数据中间空格可以输入,取和的时候不行是为什么?

img

img

img

img

1楼正解,但是也可以从另一个角度来解释这个问题,也就是C语言变量初值。
C语言定义了变量以后,系统默认会随机分配一个初始值,也就是a b c定义以后在执行到scanf函数之前是有一个默认初始值的,这个时候如果输入的数据不是按照scanf函数双引号里的格式输入的,那就只能按结构进行取数据,楼主设定的"%f,%f" 而输入的是4 5(中间是空格)的话,只能把第一个数赋值到a,第二个数取不到,所以不管是计算还是显示,第二个数其实使用的都是默认的初始值。
结论:C语言定义变量后,建议进行赋初值的操作,可以避免很多不必要的错误。

scanf("%f,%f",&a,&b);
这里面是有逗号,所以要输入 2,3 , 不能用空格,你的最大值,也是有问题的,碰巧对了而已