输出三个数中的最大值,程序出现错误!

新手上路,请多包涵

代码

/****************************************************

    Copyright:Tan Haoqiang

    Author:Huang Zihan

    Date:2020-12-21

    Description:Output the largest one from a,b and c

  **************************************************/ 

#include <stdio.h>

int main()
{
   int a,b,c,m;
   int max(int x,int y,int z);
   scanf("%d,%d,%d\n",&a,&b,&c);
   m=max(a,b,c);
   printf("The largest number is%d\n",&m);
   return 0;
}

int max(int x,int y,int z)
{
   int temp;
   if(x>y)
       temp=x;
   else temp=y;
   if(temp>z)
       return(temp);
   else 
       return(z);
}

结果

图片.png

期待结果

原本这个程序是把三个数字中的最大那个输出,但是按下enter键之后光标就到了下一个空行,不知道哪里错了?
阅读 1.7k
2 个回答

printf 应当传值,而非传址。

- printf("The largest number is%dn",&m);
+ printf("The largest number is%dn", m);

include <stdio.h>

int max(int x,int y,int z)
{
int temp;
if(x>y)

   temp=x;

else temp=y;
if(temp>z)

   return temp;

else

   return z;

}
int main()
{
int a,b,c,m;
int max(int x,int y,int z);
scanf("%d%d%d\n",&a,&b,&c);
m=max(a,b,c);

printf("The largest number is%d\n",m);
return 0;
}

小笨蛋把scanf里面的逗号取了,再把printf,里面右边的取地址去掉,输一个 数字敲一下回车,打四个数字

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进