c语言求两个数中的最大值,请问我错在哪里?#include"stdio.h"void main(){ int max (int x,int y); int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\n",c);}int max(int x,int y){ int z; if(x>y) {z=x;}; else {z=y;}; return(z);}
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/06 12:28:27
![c语言求两个数中的最大值,请问我错在哪里?#include](/uploads/image/z/5356682-26-2.jpg?t=c%E8%AF%AD%E8%A8%80%E6%B1%82%E4%B8%A4%E4%B8%AA%E6%95%B0%E4%B8%AD%E7%9A%84%E6%9C%80%E5%A4%A7%E5%80%BC%2C%E8%AF%B7%E9%97%AE%E6%88%91%E9%94%99%E5%9C%A8%E5%93%AA%E9%87%8C%3F%23include%22stdio.h%22void+main%28%29%7B+int+max+%28int+x%2Cint+y%29%3B+int+a%2Cb%2Cc%3B+scanf%28%22%25d%2C%25d%22%2C%26a%2C%26b%29%3B+c%3Dmax%28a%2Cb%29%3B+printf%28%22max%3D%25d%5Cn%22%2Cc%29%3B%7Dint+max%28int+x%2Cint+y%29%7B+int+z%3B+if%28x%3Ey%29+%7Bz%3Dx%3B%7D%EF%BC%9B+else+%7Bz%3Dy%3B%7D%EF%BC%9B+return%28z%29%3B%7D)
c语言求两个数中的最大值,请问我错在哪里?#include"stdio.h"void main(){ int max (int x,int y); int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\n",c);}int max(int x,int y){ int z; if(x>y) {z=x;}; else {z=y;}; return(z);}
c语言求两个数中的最大值,请问我错在哪里?
#include"stdio.h"
void main()
{
int max (int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
}
int max(int x,int y)
{
int z;
if(x>y) {z=x;};
else {z=y;};
return(z);
}
#include"stdio.h"
void main()
{
int max (int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
}
int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return z;
}
这是改完后的,还是不行啊,只能显示输入的两个数的前面一个,不管输入什么,结果都是max=前面的那个数,咋办啊?救命啊?
c语言求两个数中的最大值,请问我错在哪里?#include"stdio.h"void main(){ int max (int x,int y); int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\n",c);}int max(int x,int y){ int z; if(x>y) {z=x;}; else {z=y;}; return(z);}
问题在这个语句scanf("%d,%d",&a,&b);
一般情况在两个%d之间不加“,”.即写成scanf("%d%d",&a,&b);
详细原因如下:
对scanf函数来讲"%d,%d"中间的那个“,”是分隔符,即用来分开你输入的两个数据的字符.如果不加“,”,直接写scanf("%d%d",&a,&b);那么系统就默认回车或空格作分隔符,这样符合大多数人的输入习惯,所以通常都这么写.
但若加上那个“,”就只能以“,”做分隔符.比如你想输入3和5两个数据,就只能这样输入:3->,->5(即输完第一个数据按“,”再输第二个).否则出错.估计你在输入数据时很可能是用回车或空格当作分隔符,所以出错.