为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C C++
安之4183388 2017-06-04 17:50:38
任意输入两个数比较其大小,通过指针#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);
查看完整描述

5 回答

已采纳
?
望远

TA贡献1017条经验 获得超1032个赞

#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;
 }


查看完整回答
1 反对 回复 2017-06-05
?
你买的都好吃

TA贡献1条经验 获得超1个赞

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

查看完整回答
1 反对 回复 2017-06-05
?
进击的学霸No1

TA贡献15条经验 获得超12个赞

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

查看完整回答
反对 回复 2017-06-05
?
积雪草1

TA贡献4条经验 获得超0个赞

同意楼上

查看完整回答
反对 回复 2017-06-04
?
空格键2

TA贡献4条经验 获得超0个赞

MAX函数中的返回值错了,应该是p1和p2,望采纳
查看完整回答
反对 回复 2017-06-04
  • 5 回答
  • 0 关注
  • 2009 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信