主函數(shù)放前面為什么不行?
#include <stdio.h>
int getGirth(int a,int b,int c)
int main()
{
? ? /* 定義三角形三邊長 */
? ? int a, b, c;
? ? a = 3;
? ? b = 4;
? ? c = 5;
? ? printf("三角形的周長是:%d\n", getGirth(a,b,c)); ?//調(diào)用周長函數(shù)
? ? return 0;
}
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ì)算三角形周長
? ? ? return cirf;
? ? }
? ? ? ?
}
2017-07-23
能說具體嗎?
如果是上述程序運(yùn)行出錯(cuò)的話,檢查是不是聲明函數(shù)時(shí),是不是少了“;”
2017-07-23
main函數(shù)不是必須放在其他函數(shù)之前,也就是說可以放在其他函數(shù)的上面,下面,都可以。
編譯器編譯時(shí),是逐行編譯的。但是它是先找到主函數(shù),主函數(shù)編譯完也表明這個(gè)程序已經(jīng)編譯完了。如果主函數(shù)放在其他函數(shù)之前,那么在主函數(shù)中要調(diào)用的子函數(shù)(自定義函數(shù))要先在主函數(shù)之前聲明它的存在。如:void fun(int n,int m);
在多數(shù)編程語言里,變量、函數(shù)(過程)、結(jié)構(gòu)體、類、對(duì)象等都是必須先聲明(或在使用它之前定義)后使用。未聲明或未在使用它的函數(shù)之前定義的,編譯都無法通過。而且會(huì)報(bào)錯(cuò):未定義的變量或函數(shù)等!