可以的,前提是,在使用一個函數(shù)之前必須先對他進行聲明:
為修水等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及修水網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站制作、成都網(wǎng)站建設、修水網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
//void B();聲明B函數(shù)的存在。
void A()
{
B();//非法,程序執(zhí)行到此時并不知道B函數(shù)的存在。
}
void B()
{
}
或者
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
擴展資料
從函數(shù)定義的角度看,函數(shù)可分為庫函數(shù)和用戶定義函數(shù)兩種。
(1)庫函數(shù)
由C系統(tǒng)提供,用戶無須定義, 也不必在程序中作類型說明,只需在程序前包含有該函數(shù)原型的頭文件即可在程序中直接調(diào)用。在前面各章的例題中反復用到printf 、 scanf 、 getchar 、putchar、gets、puts、strcat等函數(shù)均屬此類。
(2)用戶定義函數(shù)
由用戶按需要寫的函數(shù)。對于用戶自定義函數(shù), 不僅要在程序中定義函數(shù)本身, 而且在主調(diào)函數(shù)模塊中還必須對該被調(diào)函數(shù)進行類型說明,然后才能使用。
在使用一個函數(shù)之前必須先對他進行聲明:
//void B();聲明B函數(shù)的存在。void A(){B();//非法,程序執(zhí)行到此時并不知道B函數(shù)的存在。}void B(){}
或者
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
擴展資料
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
if(fa(n)==1)
printf("n");
else
printf("y");
system("pause");
exit(0);
}
參考資料:百度百科 - C語言函數(shù)
函數(shù)定義好以后,要被其它函數(shù)調(diào)用了才能被執(zhí)行。C
語言的函數(shù)是能相互調(diào)用的,
但在調(diào)用函數(shù)前,必須對函數(shù)的類型進行說明,就算是標準庫函數(shù)也不例外。標準庫函數(shù)的
說明會被按功能分別寫在不一樣的頭文件中,使用時只要在文件最前面用#include
預處理語
句引入相應的頭文件。如前面一直有使用的
printf
函數(shù)說明就是放在文件名為
stdio.h
的
頭文件中。調(diào)用就是指一個函數(shù)體中引用另一個已定義的函數(shù)來實現(xiàn)所需要的功能,這個時候函
數(shù)體稱為主調(diào)用函數(shù),函數(shù)體中所引用的函數(shù)稱為被調(diào)用函數(shù)。一個函數(shù)體中能調(diào)用數(shù)個
其它的函數(shù),這些被調(diào)用的函數(shù)同樣也能調(diào)用其它函數(shù),也能嵌套調(diào)用。筆者本人認為
主函數(shù)只是相對于被調(diào)用函數(shù)而言。在
c51
語言中有一個函數(shù)是不能被其它函數(shù)所調(diào)用的,
它就是
main
主函數(shù)。調(diào)用函數(shù)的一般形式如下:
函數(shù)名
(實際參數(shù)表)
“函數(shù)名”就是指被調(diào)用的函數(shù)。實際參數(shù)表能為零或多個參數(shù),多個參數(shù)時要用逗
號隔開,每個參數(shù)的類型、位置應與函數(shù)定義時所的形式參數(shù)一一對應,它的作用就是把參
數(shù)傳到被調(diào)用函數(shù)中的形式參數(shù),如果類型不對應就會產(chǎn)生一些錯誤。調(diào)用的函數(shù)是無參函
數(shù)時不寫參數(shù),但不能省后面的括號。
在以前的一些例子我們也能看不一樣的調(diào)用方式:
1.函數(shù)語句
如
printf
("Hello
World!n");
這是在
我們的第一個程序中出現(xiàn)的,它以
"Hello
World!n"為參數(shù)調(diào)用
printf
這個庫函數(shù)。在這里函數(shù)調(diào)用被看作了一條語句。
2.函數(shù)參數(shù)
“函數(shù)參數(shù)”這種方式是指被調(diào)用函數(shù)的返回值當作另一個被調(diào)用函數(shù)的實際參
數(shù),如
temp=StrToInt(CharB(16));CharB
的返回值作為
StrToInt
函數(shù)的實際參數(shù)傳遞。
3.函數(shù)表達式
而在上一篇的例子中有
temp
=
Count();這樣一句,這個時候函數(shù)的調(diào)用作為一個運算
對象出現(xiàn)在表達式中,能稱為函數(shù)表達式。例子中
Count()返回一個
int
類型的返回
值直接賦值給
temp。注意的是這種調(diào)用方式要求被調(diào)用的函數(shù)能返回一個同類型的值,
不然會出現(xiàn)不可預料的錯誤。
前面說到調(diào)用函數(shù)前要對被調(diào)用的函數(shù)進行說明。標準庫函數(shù)只要用#include
引入已
寫好說明的頭文件,在程序就能直接調(diào)用函數(shù)了。如調(diào)用的是自定義的函數(shù)則要用如下形
式編寫函數(shù)類型說明
類型標識符
函數(shù)的名稱(形式參數(shù)表);
這樣的說明方式是用在被調(diào)函數(shù)定義和主調(diào)函數(shù)是在同一文件中。你也能把這些寫到
文件名.h
的文件中用#include
"文件名.h"引入。如果被調(diào)函數(shù)的定義和主調(diào)函數(shù)不是在同
一文件中的,則要用如下的方式進行說明,說明被調(diào)函數(shù)的定義在同一項目的不一樣文件之上,
其實庫函數(shù)的頭文件也是如此說明庫函數(shù)的,如果說明的函數(shù)也能稱為外部函數(shù)。
extern
類型標識符
函數(shù)的名稱(形式參數(shù)表);
函數(shù)的定義和說明是完全不一樣的,在編譯的角度上看函數(shù)的定義是把函數(shù)編譯存放在
ROM
的某一段地址上,而函數(shù)說明是告訴編譯器要在程序中使用那些函數(shù)并確定函數(shù)的地
址。如果在同一文件中被調(diào)函數(shù)的定義在主調(diào)函數(shù)之前,這個時候能不用說明函數(shù)類型。也就
是說在
main
函數(shù)之前定義的函數(shù),在程序中就能不用寫函數(shù)類型說明了。能在一個函
數(shù)體調(diào)用另一個函數(shù)(嵌套調(diào)用),但不允許在一個函數(shù)定義中定義另一個函數(shù)。還要注意
的是函數(shù)定義和說明中的“類型、形參表、名稱”等都要相一致。
兩個可以放在同一目錄下,也可以放到不同的目錄下,前提是你在主函數(shù)文件中應當包含相應的頭文件或C文件(路徑寫對應,寫完整就好)。
外部函數(shù)文件根據(jù)所寫函數(shù)需要將對應頭文件包含進來,stdio.h作為一個標準輸入輸出文件,只要你該外部文件內(nèi)涉及到輸入輸出等操作,就是必須要包含進來的。
希望對你有所幫助!