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

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么我把return crif;改成printf("%d\n", crif);會出錯

#include <stdio.h>
int getGirth(int a,int b,int c)
{
??? if( (a+b)<=c || (a+c)<=b || (b+c)<=a )?? //判斷是否為三角形
??? {
??????? printf("不構成三角形\n");
??????? return 0;???????????????????????????????
??? }
??? else
??? {
????? int cirf = a + b + c;???? //計算三角形周長
????? printf("%d\n", cirf);
??? }?
}
int main()
{
??? /* 定義三角形三邊長 */
??? int a, b, c;
??? a = 5;
??? b = 4;
??? c = 3;
??? printf("三角形的周長是:%d\n", getGirth(a, b, c));? //調用周長函數
??? return 0;
}

這樣的輸出結果是

12

三角形的周長是3

正在回答

3 回答

原理是,main將3個值傳給getGirth這個函數。getGirth處理完后,然后return,是將值在返回給main函數。沒返回的話,main后面拿不到值。

1 回復 有任何疑惑可以回復我~

因為沒有返回值,你在

把return crif;改成printf("%d\n", crif);

的下一行加上 return 0;

就可以運行了。

0 回復 有任何疑惑可以回復我~
#1

Ibuki_suga 提問者

這樣輸出就會變成 12 三角形的周長:0
2018-10-19 回復 有任何疑惑可以回復我~
#2

慕粉0247298809 回復 Ibuki_suga 提問者

對的,return 的返回值 一定要是crif,要不然函數的調用值不會返回mian函數里
2018-11-01 回復 有任何疑惑可以回復我~

應該是函數沒有返回值報的錯,不要刪那個return試試看

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么我把return crif;改成printf("%d\n", crif);會出錯

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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