#include<stdio.h>
int main(){
int max(int x,int y);
int num1,num2;
scanf("%d,%d",&num1,&num2);
printf("max=%d\n",max(num1,num2));
}
int max(int x,int y){
if(x>y) return x;
else return y;
}
赋值时‘,’一定要加上去,如果scanf格式输入有误的话系统会自动赋值,结果就会出现错误。。。我只是打个酱油,不用正确回答
用例是什么,预期是什么,实际结果是?
你得通过指针的形式来实现两个数的大小比较和交换,已解决~
#include<stdio.h>
#include <stdlib.h>
int main(){
int max(int *x,int *y);
int num1,num2;
scanf("%d,%d",&num1,&num2);
printf("max=%d\n",max(&num1,&num2));
system("pause");
return 0;
}
int max(int *x,int *y){
if(*x>*y) return *x;
else return *y;
}
楼主,不好意思,上面的代码弄错了,现在这个可以了
#include<stdio.h>
#include <stdlib.h>
int main(){
int max(int x,int y);
int num1,num2;
int big;
scanf("%d,%d",&num1,&num2);
// printf("max=%d\n",max(&num1,&num2));
big = max(num1,num2);
printf("big = %d\n",big);
system("pause");
return 0;
}
int max(int x,int y){
if(x>y)
return x;
else
return y;
}
不知道你想要什么样的输出?
题目能看出来是输出两个数中较大的那个数
你的代码应该是没有什么问题的,只是在赋值时一定要用“,”分割开,例如1,2这样,使用scanf进行输入的时候尤其注意
代码没问题,可能没有切换成英文输入