我用的DEV-C++,写了一段要求是三个数字比较大小的程序但好像行不通!希望大佬们帮我看看

#include <stdio.h>
int main()
{
int max(int n_1,int n_2,int n_3);
int n_1,n_2,n_3,n_max;
scanf("%d,%d,%d",&n_1,&n_2,&n_3);
n_max=max(n_1,n_2,n_3);
printf("最大值为 %d\n",n_max);
return 0;
}
int max(int x,int y,int z)
{
int g;
if(x>=y && x>=z)
g=x;
if(y>=x && y>=z)
g=y;
if(z>=x && z>=y)
g=z;
return g;
}

程序没错,

执行时输入三个数据,中间要以逗号分隔,而且必须是英文输入状态下半角的逗号,不能是中文输入状态下的逗号,而且不能以空格作为数据输入的分隔符。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-24
输入时,每两数之间加一个逗号;因为你在scanf()中两个占位符之间加了一个逗号;
第2个回答  2020-04-05
你可以把scanf()换成cin
源代码如下:
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int max(int n_1,int n_2,int n_3);
int n_1,n_2,n_3,n_max;
cin>>n_1;
cin>>n_2;
cin>>n_3;
n_max=max(n_1,n_2,n_3);
printf("最大值为 %d\n",n_max);
return 0;
}
int max(int x,int y,int z)
{
int g;
if(x>=y && x>=z)
g=x;
if(y>=x && y>=z)
g=y;
if(z>=x && z>=y)
g=z;
return g;
}
第3个回答  2020-02-24
源程序第六行:scanf()函数不需要加‘,’
相似回答