為什么我把return crif;改成printf("%d\n", crif);會(huì)出錯(cuò)
#include <stdio.h>
int getGirth(int a,int b,int c)
{
??? if( (a+b)<=c || (a+c)<=b || (b+c)<=a )?? //判斷是否為三角形
??? {
??????? printf("不構(gòu)成三角形\n");
??????? return 0;???????????????????????????????
??? }
??? else
??? {
????? int cirf = a + b + c;???? //計(jì)算三角形周長(zhǎng)
????? printf("%d\n", cirf);
??? }?
}
int main()
{
??? /* 定義三角形三邊長(zhǎng) */
??? int a, b, c;
??? a = 5;
??? b = 4;
??? c = 3;
??? printf("三角形的周長(zhǎng)是:%d\n", getGirth(a, b, c));? //調(diào)用周長(zhǎng)函數(shù)
??? return 0;
}
這樣的輸出結(jié)果是
12
三角形的周長(zhǎng)是3
2018-11-21
原理是,main將3個(gè)值傳給getGirth這個(gè)函數(shù)。getGirth處理完后,然后return,是將值在返回給main函數(shù)。沒返回的話,main后面拿不到值。
2018-10-18
因?yàn)闆]有返回值,你在
把return crif;改成printf("%d\n", crif);
的下一行加上 return 0;
就可以運(yùn)行了。
2018-10-17
應(yīng)該是函數(shù)沒有返回值報(bào)的錯(cuò),不要?jiǎng)h那個(gè)return試試看