關(guān)于cirf的問題
#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;? ? ?//計算三角形周長
? ? ? return cirf;
? ? }
}
int main()
{
? ? /* 定義三角形三邊長 */
? ? int a, b, c,cirf;
? ? a = 3;
? ? b = 4;
? ? c = 5;
? ? getGirth(a,b,c);
? ? cirf=a+b+c;
? ? printf("三角形的周長是:%d\n", cirf);? //調(diào)用周長函數(shù)
? ? return 0;
}
?getGirth(a,b,c)里面不是已經(jīng)定義了cirf=a+b+c了嗎?為什么后面主函數(shù)里還要再定義一次
2019-10-20
cirf只是自己定義的函數(shù)中的變量,只作用在int getGirth(int a,int b,int c)中,你在主函數(shù)中再次定義cirf并使用了cirf=a+b+c;輸出時就直接會得到主函數(shù)中cirf的結(jié)果,和自定義函數(shù)沒有半點關(guān)系了,而且printf中cirf可以直接換成函數(shù)調(diào)用getGirth(a,b,c)。
2020-02-12
你這樣的畫就和你自定義的函數(shù)沒有關(guān)系了,為什么要定義有參函數(shù)呢?就是因為在復(fù)雜的代碼中如果要修改的畫只修改main函數(shù)中的值就行了