scanf和printf函數(shù)是系統(tǒng)定義的函數(shù),函數(shù)的首部和函數(shù)體在定義的時候有。我們用的時候一直看到的是已經(jīng)定義好了的,系統(tǒng)默認有效的。
為貴南等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及貴南網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、貴南網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
所以不需要在程序開頭重新寫出來函數(shù)頭部分。
擴展資料:
scanf()是C語言中的一個輸入函數(shù)。與printf函數(shù)一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數(shù)時要加上#include stdio.h。(在有一些實現(xiàn)中,printf函數(shù)與scanf函數(shù)在使用時可以不使用預(yù)編譯命令#include stdio.h。)它是格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。
printf:
格式輸出,它是c語言中產(chǎn)生格式化輸出的函數(shù)(在 stdio.h 中定義)。用于向終端(顯示器、控制臺等)輸出字符。格式控制由要輸出的文字和數(shù)據(jù)格式說明組成。
【聲明部分】和【語句部分】
解釋:
函數(shù)聲明它為編譯器提供了有用的信息,編譯器在翻譯代碼的過程中,只有見到函數(shù)原型(這里即可以是聲明也可以是定義)之后才知道這個函數(shù)的名字、參數(shù)類型和返回值,這樣碰到函數(shù)調(diào)用時才知道怎么生成相應(yīng)的指令,所以函數(shù)原型必須出現(xiàn)在函數(shù)調(diào)用之前,這也是遵循“先聲明后使用”的原則。注意上面說的函數(shù)原型是包括函數(shù)聲明和定義兩種形式的。另外還有一種特殊情況,就是隱式聲明。隱式聲明的函數(shù)返回值類型都是int。
【舉例】
#include
main()
{
printf("%d\n",jiec(5));
}
int jiec(int n)
{
int y=1;int i;
for(i=1;iy=y*i;
return(y);
}
這個程序也是可以運行的,主要返回值為int。
包括返回值,函數(shù)名,形參列表和函數(shù)體四個部分。
例如 :
int findmin(int a[],int n){
//函數(shù)體
return min;
}
以上函數(shù)int 是返回值,findmin是函數(shù)名, int a[] int n是形參列表
在程序中出現(xiàn)函數(shù)名時,要注意區(qū)分以下三種情況:
1. main函數(shù)中的int?max(int?x,int?y);?是函數(shù)的聲明,一般格式為?返回值?函數(shù)名(參數(shù)類型?參數(shù));
2. max(a,b)為函數(shù)的調(diào)用,一般格式為?函數(shù)名(參數(shù));
3. 后面的max(int?x,int?y){?...}是函數(shù)的定義,一般格式為?返回值?函數(shù)名(參數(shù)類型?參數(shù)){函數(shù)體}
c語言規(guī)定,在一個函數(shù)定義之前調(diào)用它,需要提前進行聲明。
原因是,如果沒有聲明函數(shù),當(dāng)程序運行到max(a,b)時,由于后面的函數(shù)定義還沒有被讀到,所以計算機并不知道m(xù)ax是個什么東西,程序就會出錯。
如果將函數(shù)定義提到main函數(shù)的前面,就無需進行聲明了,程序也不會報錯。
c語言中:
一、函數(shù)由函數(shù)頭和函數(shù)體組成。
二、而函數(shù)體是由大括號括起來的多條語句,用于實現(xiàn)函數(shù)功能,沒有固定組成。
int count;
void function()
{
int a=0;//初始化a
int b=0;//初始化b
count=0;//外部變量初始化
//...
}
{}中的就是函數(shù)體
初始化就是使用前的賦值,一般在定義時賦值
初始化的對象局部變量或者全局變量