c语言scanf 问题

使用cfree5 实现求三个数的最大值的时候使用;使用 scanf("%d%D%C", &a, &b, &c);注://发布问题不让有同样的字符%d所以只能改成%D%C,原码是三个连着的%d可以实现正常功能但是在前两个%d各加了逗号之后,程序就无法实现了

请问scanf里面设置参数类型是不让加逗号的吗?但是我搜scanf功能的时候有些也有逗号啊

#include<stdio.h>

int main()
{
int a, b, c, max;
scanf("%d%D%C", &a, &b, &c);//发布问题不让有同样的字符%d所以只能改成%D%C,原码是三个连着的%d
if (a > b)
{
if (a > c)
max = a;
else
max = c;
}
else
{
if (b > c)
max = b;
else
max = c;
}
printf("%d\n", max);
return 0;
}

没加逗号前的代码

img

加了逗号之后的运行代码:

img

刚学c语言求解答

空格是默认的分隔符,逗号不是。所以如果想输入逗号,那么scanf中的%d之间必须加逗号

scanf("%d%D%C"
scanf里的格式字符中怎么分隔的,输入时就要怎么输入。scanf会忽略空白字符。
scanf("%d%d%d"),输入数字之间空白符隔开,空格,tab,回车都可以,
比如
1        
                  2                                 3

scanf("%d-%d,%d"),这种输入时必须要输入对应字符。
输入方式:1-2,3或者1        -      2,   3