亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么這個程序運行時會出錯???

為什么這個程序運行時會出錯???

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 關注
  • 2099 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號