C語(yǔ)言中想要使用一個(gè)自定義函數(shù)一般有以下三個(gè)步驟:
創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)服務(wù)商,為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作服務(wù),網(wǎng)站設(shè)計(jì),網(wǎng)站改版維護(hù)等一站式綜合服務(wù)型公司,專(zhuān)業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競(jìng)爭(zhēng)對(duì)手中脫穎而出創(chuàng)新互聯(lián)公司。
一、函數(shù)聲明:
在開(kāi)發(fā)大型軟件都是采用多人合作開(kāi)發(fā),一般一個(gè)人負(fù)責(zé)實(shí)現(xiàn)幾個(gè)功能,這些功能都是通過(guò)函數(shù)來(lái)實(shí)現(xiàn)。這總情況下我們一般采用函數(shù)聲明和定義分開(kāi)模式。即函數(shù)聲明放在頭文件里。需要用到時(shí)包含相應(yīng)的頭文件及方法庫(kù)即可,庫(kù)函數(shù)就是這種模式。函數(shù)的聲明主要是說(shuō)明函數(shù)的名稱(chēng)以及其所需要的參數(shù)類(lèi)型,參數(shù)可以只寫(xiě)類(lèi)型不寫(xiě)變量名,函數(shù)定義是需要變量名。
二、函數(shù)定義
這一步主要是寫(xiě)函數(shù)功能的實(shí)現(xiàn)方法,代碼塊,核心部分。比步可以在函數(shù)聲明時(shí)進(jìn)行,即聲明同時(shí)定義方法。不過(guò)這種方式不適合分享,因?yàn)槟悴灰欢ㄏ敕窒砟愕拇a,也許只想分享這個(gè)功能。不管哪種方法,在調(diào)用函數(shù)之前必須進(jìn)行函數(shù)聲明。
三、函數(shù)調(diào)用
經(jīng)過(guò)以上兩步,我們的函數(shù)已經(jīng)完成。接下來(lái)就是使用函數(shù),使用前先搞清楚函數(shù)需要有哪些參數(shù),參數(shù)一定要傳入合適的類(lèi)型。第二函數(shù)有沒(méi)有返回值,返回值的含義。我們可以通過(guò)返回值判斷函數(shù)的執(zhí)行情況,一般函數(shù)最好有返回值。想清楚后直接調(diào)用函數(shù)即可。
void conj(char*string1,char*string2)
{int i,j,k;
char s[N*2];
for(i=0;*(s+i)=*(string1+i););
for(i=j=k=0;*(s+i)||*(string2+i);)
{if(*(s+i))*(string1+k++)=*(s+i++);
if(*(string2+j))*(string1+k++)=*(string2+j++);}
*(string1+k)=0;}
0分。。。自己調(diào)吧。
#include stdio.h
int IsPrime(unsigned int n){
unsigned int i;
for(i=2;in;i++){//對(duì)大于1小于n的數(shù)進(jìn)行循環(huán)
if(n%i == 0){//如果期間有能整除的數(shù),直接返回0
return 0;
}
}
return 1;//返回1
}
int IsMPrime(unsigned int n){
if(IsPrime(n) ==0){//如果此數(shù)本身不是素?cái)?shù)直接返回0
return 0;
}
unsigned int p;
unsigned int x;
p=0;
x=n+1;
wihle(x !=1){//求出比x大且與x最近的2的p次方中的p
x=x1;
p++;
}
if(pow(2,p) != n+1){//如果此數(shù)+1不是2的p次方,則直接返回0
return 0;
}
return IsPrime(p);//判斷p是否為素?cái)?shù),返回判斷值
}
int main(){
unsigned int m;
scanf("%d”,m);
if(m 1000){//為了防止輸入的數(shù)太大導(dǎo)致機(jī)器死掉,限定輸入的數(shù)小于1000。
return 0;
}
for(;m0;m--){//對(duì)大于0,小于輸入數(shù)的整數(shù)挨個(gè)進(jìn)行判斷
if(IsMPrime(m) ==1){//如果是梅森素?cái)?shù)直接打印
printf("%d,",m);
}
}
return 0;//結(jié)束程序
}
主函數(shù):即程序的入口函數(shù),通常是有main字樣的函數(shù)為主函數(shù)。程序執(zhí)行的時(shí)候最先調(diào)用的是這個(gè)函數(shù)。
子函數(shù):即用戶(hù)可以自定義的函數(shù),其實(shí)可以寫(xiě)到主函數(shù)中,但閱讀等很費(fèi)勁,所以很多代碼提到子函數(shù)中實(shí)現(xiàn),讓代碼可讀性很強(qiáng),更精練。
因此,主函數(shù)必須有,且可以調(diào)用子函數(shù),這是編程語(yǔ)言決定的。子函數(shù)可有可沒(méi)有,子函數(shù)可以被主函數(shù)調(diào)用,也可以被其他子函數(shù)調(diào)用。
主函數(shù):
返回值類(lèi)型
main(參數(shù))
int
main()
{
aaa();
}
子函數(shù)
void
aaa()
{
}
#includestdio.h
#includestdlib.h
#includetime.h
int?rnd0(int?n)
{
return?rand()%n+1;
}
int?main?()
{int?n,i;
scanf("%d",n); //產(chǎn)生n個(gè)?
srand(time(0));
for(i=0;in;i++)
printf("%d?",rnd0(20));??//產(chǎn)生1~20的隨機(jī)數(shù)?
return?0;
}