外部函式的呼叫

遠飛夢發表於2018-11-06

如計算下列排列函式p(n,k)=n!/(n-k)!

先建立一個原始檔如內部函式1:

#include<iostream>
using namespace std;
int factorial(int n)
{
	if(n < 0)
	{
		cout<<"n<0 , 錯誤!"<<endl;
		return 0;
	}
	else 
	{
		int m = 1;
		while(n > 1)
		{
			m*=n--;
		}
		return m;
	}
}

這個被呼叫的函式的主函式不是int main()而是自己定義的函式;

在建立一個內部函式2:

#include<iostream>
using namespace std;
extern int factorial(int);
int main()
{
	int n , k , f;
	cout<<"請輸入n的值:"<<endl;
	cin>>n;
	cout<<"請輸入k的值(k<=n):"<<endl;
	cin>>k; 
	f=factorial(n)/factorial(n-k);
	cout<<"p("<<n<<","<<k<<")="<<f<<endl;
	return 0;
}

呼叫的時候就extern加函式的型別和名字。

這樣就可以了。

注:要在一個專案裡進行。

相關文章