為什么我把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
2018-11-21
原理是,main將3個值傳給getGirth這個函數。getGirth處理完后,然后return,是將值在返回給main函數。沒返回的話,main后面拿不到值。
2018-10-18
因為沒有返回值,你在
把return crif;改成printf("%d\n", crif);
的下一行加上 return 0;
就可以運行了。
2018-10-17
應該是函數沒有返回值報的錯,不要刪那個return試試看