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

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

為什么這樣會錯誤?

#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 ;? ? ?//計算三角形周長

? ? ? return cirf;

? ? }

? ? ? ?

}


int main()

{

? ? /* 定義三角形三邊長 */

? ? int a, b, c;

? ? a = 3;

? ? b = 4;

? ? c = 5;

? ? printf("三角形的周長是:%d\n", cirf);??

? ? getGirth(a,b,c);//調用周長函數

? ? return 0;

}

正在回答

5 回答

問題一、cirf沒有在主函數中定義,cirf是int getGirth(int?a,int?b,int?c)中的變量,只作用于這個函數,函數外無法使用。

問題二、在主函數定義cirf后需要初始化值,不然就是隨機數。

問題三、函數調用放在printf后輸出不會顯示被調用的函數的返回值,可以使用賦值在printf前把函數的返回值賦給cirf。

綜上,解決方法:int cirf=getGirth(a,b,c);printf("三角形的周長是:%d\n", cirf);

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

qq_慕村0435642

透徹明了
2019-11-25 回復 有任何疑惑可以回復我~

或者還可以printf("三角形的周長是:%d\n", getGirth(a,b,c);這樣解決

0 回復 有任何疑惑可以回復我~
親,你這里提示什么錯誤呢】


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

cirf沒有初始化,要先令他等于? 0

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

cirf在子函數里要用到主函數的話要先聲明可以在主函數里int cirf;一下



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

舉報

0/150
提交
取消

為什么這樣會錯誤?

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

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

幫助反饋 APP下載

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

公眾號

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