为什么这个程序运行时会出错???

任意输入两个数比较其大小,通过指针
#include<stdio.h>
 void MAX(int *p1,int *p2)
{
  if(p1>p2)  return a;
  else   return  b;


  }
main()
{
   int a,b;
   printf("请输入要比较的俩个数:");
    scanf("%d%d",&a,&b);
    max=MAX(a,b);
printf("两个数中较大的是:%d\n",&max);


安之4183388
浏览 2010回答 5
5回答

望远

#include<stdio.h>  int MAX(int *p1,int *p2)//返回值为int,返回最大值 {    if(*p1>*p2)  //比较两个指针变量所指对象的数值大小       return *p1;//返回对应指针所指向的变量值   else          return  *p2; } int main() {    int a,b;    int max;//定义变量max,接收函数返回值。    printf("请输入要比较的俩个数:");     scanf("%d%d",&a,&b);     max=MAX(&a,&b);//传入两个变量的地址,通过指针来比较大小     printf("两个数中较大的是:%d\n",max);//输出更大值     return 0;  }

你买的都好吃

你这是对指针那个章节的具体内容没有理解 *max是值 &max是地址 %d的输入怎么是地址呢  MAX函数中的p1,p2你比较的也是地址 

进击的学霸No1

首先你的 main 缺一个大括号,剩下的就是一楼说的那样

积雪草1

同意楼上

空格键2

MAX函数中的返回值错了,应该是p1和p2,望采纳
打开App,查看更多内容
随时随地看视频慕课网APP