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

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

請教一個小問題

#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", getGirth());? //調用周長函數
??? return 0;
}

用這樣的代碼的時候? 出來的結果為什么會是 “三角形的周長是:4195712?”呢

正在回答

1 回答

printf("三角形的周長是:%d\n",getGirth());這一句里面的調用函數“getGirth()”添加參數a,b,c.即是getGirth(a,b,c),再次運行就可以得出結果了。這是因為getGirth()里面的參數是形參,它只在函數內部有效,函數調用結束返回主函數后則不能再使用該形參變量(這句話是重點)而主函數main()里面的參數是實參,實參在進行調用時必須具有確定的值,故有a=3;b=4;c=5;這些賦值,以便把這些值傳給形參,因此應該用賦值的方法是實參獲得確定的值。希望對你有幫助。

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

PANDEDE 提問者

謝謝 請問你的意思是不是主函數main()后面的printf的括號里面不能有形參 我這樣理解對嗎。。
2017-01-18 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21533    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

請教一個小問題

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

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

幫助反饋 APP下載

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

公眾號

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