我也來 說幾句。。
為祥云等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及祥云網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、祥云網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
標(biāo)準(zhǔn)編譯器 對函數(shù)的調(diào)用 都要
先申明 才能 調(diào)用
(生產(chǎn)的時候就這樣設(shè)定的)。。我推薦試用
大點(diǎn)的 vs2005,vc2000.
小點(diǎn)的 Dev-cpp ,Turboc 3.0 (2.0 不支持鼠標(biāo)有點(diǎn) 麻煩)
這里 就涉及: 申明和定義之間的區(qū)別。
申明-- 不開辟內(nèi)存,僅僅告訴編譯器,申明的部分存在,要預(yù)留一點(diǎn)空間。
定義-- 開辟內(nèi)存。
申明 屬于 預(yù)編譯范疇的。最好寫在頭文件中(樓主,自定義頭文件學(xué)了沒有???)(申明都寫在頭文件中,只是一種好的編程習(xí)慣)
因?yàn)?在編譯的時候,編譯器先處理一些特殊數(shù)據(jù)(宏定義,函數(shù)的申明,變量的申明),在這個過程中,編譯器 通過申明 可以預(yù)測整個定義需要的內(nèi)存大小,并且 把這些大小預(yù)留起來,留給定義的時候使用(因?yàn)殡m然定義,但是在 main函數(shù)里面沒有調(diào)用,一樣的不分配內(nèi)存)。
如果不事先申明,直接定義,有可能會造成系統(tǒng)崩潰,出現(xiàn)內(nèi)存不足,不能分配。 然而現(xiàn)在內(nèi)存都是1G左右了,所以一般空間都足夠,所以你也可以不申明直接定義函數(shù)。
但是一旦內(nèi)存緊張,就會出錯,而且程序簡潔性就很低。(不看到定義,還不知道原來還定義了這么一個函數(shù)?。。。?/p>
還有 變量也一樣,標(biāo)準(zhǔn)的都是 先申明在定義。
extern int i; //申明
int i=0; //定義并初始化為0
int i; //定義
.。。。。。。。。。。。。。。。。。
所以 從現(xiàn)在其要養(yǎng)成良好的編程習(xí)慣
先申明,在定義。
申明最好都放在 一塊,并且都在頭文件中(為了便于管理)。
1A用戶自定義函數(shù)如果放在MAIN函數(shù)前就不用聲明了(因?yàn)橐呀?jīng)等于聲明了)
B顯然聲明函數(shù)不必須聲明參數(shù)和返回值
C正確
D空函數(shù)可以不完成操作,但在程序中可以作為預(yù)留先聲明函數(shù)后添加函數(shù)體。
2D正確,此題錯誤處在printf語句上,字符數(shù)組默認(rèn)最后加個'/0’
3A此題只有1990%4有余數(shù)使得||兩側(cè)均為假故邏輯表達(dá)式為假
采用條件編譯即可。
在.h頭文件中加上
#if?1
#define?FUNC_ENABLE
void?fun();
#endif
在.c中加上
#ifdef?FUNC_ENABLE
void?fun()?{?printf("OK\n");?}
#endif
當(dāng)我們不想編譯該函數(shù)時,加#if 1改為#if 0即可。
例子:
#include?stdio.h
#if?1
#define?FUNC_ENABLE
void?fun();
#endif
#ifdef?FUNC_ENABLE
void?fun()?{?printf("OK\n");?}
#endif
int?main(void)?{
fun();
return?0;
}
在palin函數(shù)中調(diào)用palin函數(shù)本身,這是函數(shù)遞歸調(diào)用的方法。palin(n)還未結(jié)束就調(diào)用palin(n-1),palin(n-1)繼續(xù)調(diào)用palin(n-2)……直到palin(1),然后依次返回palin(2)……palin(n-1),palin(n)。遞歸函數(shù)本身就有了類似于for循環(huán)的功能,在某些方面又比for循環(huán)更易理解。
你改的程序有兩處錯誤。其一,n6的條件是你根據(jù)主函數(shù)寫進(jìn)子函數(shù)的,子函數(shù)要獨(dú)立于main函數(shù),只能由參數(shù)n來傳遞i的值5,你最好不要自己把6寫進(jìn)去。其二,也是最大一處錯誤,在遞歸函數(shù)的for循環(huán)中使用遞歸調(diào)用的方法,會使得你的函數(shù)超過你想象的多次調(diào)用,形成一個樹枝狀的調(diào)用過程,你仔細(xì)想想是不是。
這第二點(diǎn)有點(diǎn)難理解,你自己認(rèn)真研究一下。如果還有什么不明白的可以繼續(xù)問我。
小伙伴,沒看懂你的意思,創(chuàng)建一個已經(jīng)輸入數(shù)據(jù)的函數(shù)?代碼經(jīng)過編譯連接之后,就成二進(jìn)制了,也就是固態(tài)形式,不可能再修改一個函數(shù)的功能了。
如果要是預(yù)留一個數(shù)據(jù)的值倒是可以的:
不直接對原來參數(shù)進(jìn)行修改,用const,進(jìn)行值傳遞,在函數(shù)中運(yùn)算完成后return這個結(jié)果,在主????????函數(shù)中用變量接收。
對原來值直接操作,參數(shù)傳遞一個指針,可以再使用前對這個值進(jìn)行備份,或者在函數(shù)中定義一個變量對這個變量用參數(shù)進(jìn)行賦值,return這個備份參數(shù)。
還有很多方法,這兩種只是最簡單的。
putchar是c語言函數(shù)之一,作用是向終端輸出一個字符。
其格式為putchar(c),其中c可以是被單引號(英文狀態(tài)下)引起來的一個字符,可以是介于0~127之間的一個十進(jìn)制整型數(shù)(包含0和127),也可以是事先用char定義好的一個字符型變量。
putchar函數(shù)的基本格式為:putchar(c)。
1、當(dāng)c為一個被單引號(英文狀態(tài)下)引起來的字符時,輸出該字符(注:該字符也可為轉(zhuǎn)義字符)。
3、當(dāng)c為一個介于0~127(包括0及127)之間的十進(jìn)制整型數(shù)時,它會被視為對應(yīng)字符的ASCII代碼,輸出該ASCII代碼對應(yīng)的字符。
3、當(dāng)c為一個事先用char定義好的字符型變量時,輸出該變量所指向的字符。
擴(kuò)展資料
C語言里的其他函數(shù):
1、abort
函數(shù)名:abort
功 能:異常終止一個進(jìn)程
函數(shù)與形參類型:
void abort(void);
程序例:
#include stdio.h
#include stdlib.h int main(void)
{
printf("Calling abort()\n");
abort();
return 0; /* This is never reached */
}
2、abs
函數(shù)名:abs
功 能:計(jì)算整數(shù)num的值。返回整數(shù)num的絕對值。
函數(shù)與參數(shù)類型:
int abs(num)
int num;
程序例:
#include stdio.h
#include math.h int main(void)
{
int number = -1234; printf("number: %d absolute value: %d\n", number, abs(number));
return 0;
}
參考資料來源:百度百科-putchar
當(dāng)前名稱:c語言預(yù)留函數(shù) 如何用c語言定義函數(shù)
URL鏈接:http://chinadenli.net/article46/hgpdeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、營銷型網(wǎng)站建設(shè)、網(wǎng)站排名、企業(yè)網(wǎng)站制作、定制開發(fā)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)