输入三个值,找出最大值,但是0个error,最后得到的却是最小值。
输入的时候1,2,3改成1 2 3,用空格隔开
输入时的格式问题
scanf_s
误将 ,
读取为数字,导致比较错误,
控制读取scanf_s("%d,%d,%d", &a, &b, &c); //方法一:输入时带 , 号
输入 1,2,3
区分,同时输入时不再输入 ,
而是输入
分隔scanf_s("%d %d %d", &a, &b, &c); //方法二:输入时以空格区分
输入 1 2 3完整代码
#include <stdio.h>
int main()
{
int a, b, c;
printf("Input a b c:\n");
scanf_s("%d,%d,%d", &a, &b, &c); //方法一:输入时带 , 号
//scanf_s("%d %d %d", &a, &b, &c); //方法二:输入时以空格区分
//scanf("%d %d %d", &a, &b, &c); //推荐使用 scanf
if (a > b)
{
if (a > c)
printf("max:%d\n", a);
else
printf("max:%d\n", c);
}
else
{
if(b > c)
printf("max:%d\n", b);
else
printf("max:%d\n", c);
}
return 0;
}
推荐题主使用 scanf
而非 scanf_s
关于如何避免使用 scanf
报错可以参考这篇文章《C4996 “scanf“ 问题——初学者使用VS的拦路虎》
最后祝题主顺利解决问题!
.c文件为纯C语言,不支持引用。