1、形參個(gè)數(shù)不能太多,多了就用結(jié)構(gòu)體指針吧;
成都創(chuàng)新互聯(lián)公司是少有的網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、營銷型企業(yè)網(wǎng)站、小程序開發(fā)、手機(jī)APP,開發(fā)、制作、設(shè)計(jì)、買友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,從2013年成立,堅(jiān)持透明化,價(jià)格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評
2、不需要攜帶數(shù)據(jù)返回的放在前面,需要攜帶數(shù)據(jù)返回類型的放在后面吧;
3、不要直接傳遞結(jié)構(gòu)體哦;
4、一般地,指針類型最好加上const修飾,除非有特殊用途;
5、盡量不要使用bool類型做為形式參數(shù);
6、別忘了給一個(gè)簡潔好聽的名字
1.要注明返回值類型,如void,float,int,char等等。如果未寫,則默認(rèn)為int型。
2.寫上調(diào)用的函數(shù)名,如temp()
3.括號內(nèi)寫上所傳遞的數(shù)據(jù)類型和用來接收數(shù)據(jù)的變量。如(float num1,int num2)且數(shù)據(jù)類型及數(shù)量與調(diào)用函數(shù)時(shí)一致。
注意括號后不要加分號。
4.舉一個(gè)例子:如果在main函數(shù)中調(diào)用函數(shù)為int a; float b; scanf(%d%f,a,b);temp(a.b);
則函數(shù)首部就應(yīng)當(dāng)寫為float temp(int x,float y)這里假設(shè)返回值為浮點(diǎn)型。
我做了一些修改,下面的程序可以運(yùn)行!你肯定是個(gè)初學(xué)者,所以不要急慢慢來,把基礎(chǔ)的東西一定要搞懂.
我所做的修改主要有3點(diǎn):
1、自定義函數(shù)不能在函數(shù)名后加分號(除非在函數(shù)說明時(shí))
2、自定義函數(shù)如要放在主函數(shù)之后,則在主函數(shù)中一定要說明int
opp(int
x);
否則一定要放在主函數(shù)之前定義
3、printf()是格式化的輸出函數(shù),一定要給出輸出格式,你的程序中是int型的所以用“%d”
最后建議你找一本c語言的書好好看看!
#include
int
opp(x)
{
int
r;
r=x+1;
return
(r);
}
main()
{
int
a=1,b;
b=opp(a);
printf("%d",b);
}
函數(shù)是用戶與程序的接口,在定義一個(gè)函數(shù)前,首先要清楚以下三個(gè)問題。1) 函數(shù)的功能實(shí)現(xiàn)及算法選擇。算法選擇會在后續(xù)文章詳細(xì)講解,本節(jié)重點(diǎn)關(guān)注函數(shù)的功能實(shí)現(xiàn)。一般選取能體現(xiàn)函數(shù)功能的函數(shù)名,且見名知意,如求和函數(shù)的函數(shù)名可取為 add,求最大值的函數(shù)名可取為 max,排序函數(shù)可取名為 sort 等。2) 需要用戶傳給該函數(shù)哪些參數(shù)、什么類型,即函數(shù)參數(shù)。3) 函數(shù)執(zhí)行完后返回給調(diào)用者的參數(shù)及類型,即函數(shù)返回值類型。 函教定義格式 函數(shù)定義的一般格式為: 返回類型 函數(shù)名 (類型參數(shù)1,類型參數(shù)2,…) {函數(shù)體 }也可以不含參數(shù),不含參數(shù)時(shí),參數(shù)表中可寫關(guān)鍵字 void 或省略,為規(guī)范起見,教程中對沒有參數(shù)的函數(shù),參數(shù)表中統(tǒng)一寫 void。例如: 類型 函數(shù)名 () {函數(shù)體 }等價(jià)于: 類型 函數(shù)名 (void) //建議的書寫方式 {函數(shù)體 } 如果該函數(shù)沒有返回類型,則為 void 類型。例如: void add (int x,int y) {printf ("sum=%d\n", x+y); } 除了 void 類型外,在函數(shù)體中,均需要顯式使用 return 語句返回對應(yīng)的表達(dá)式的值。 函教返回值 函數(shù)的值是指調(diào)用函數(shù)結(jié)束時(shí),執(zhí)行函數(shù)體所得并返回給主調(diào)函數(shù)的值。 關(guān)于函數(shù)返回值說明如下。1) 帶返回值的函數(shù),其值一般使用 return 語句返回給調(diào)用者。其格式為: return 表達(dá)式;或者 return (表達(dá)式);例如: int add (int a, int b) {return (a + b); //return 后為表達(dá)式 } 函數(shù)可以含一個(gè)或多個(gè) return 語句,但每次調(diào)用時(shí)只能執(zhí)行其中一個(gè) return 語句。例如,求整數(shù)絕對值的函數(shù): int f (int n) //含多個(gè)return語句,但每次調(diào)用只執(zhí)行一個(gè) {if (n = 0)return n;elsereturn -n; }
函數(shù)定義的格式為
return_type func_name(var_list)
{
func_body;
}
要素包括:
1 return_type:
函數(shù)返回值。
如不需要返回值,需要寫作void。
如果不寫return_type,默認(rèn)返回值為int。
2 func_name:
函數(shù)名。該項(xiàng)必須有。
3 (var_list):
括號必須有。內(nèi)部var_list為函數(shù)參數(shù)列表。可以省略。
當(dāng)不需要參數(shù)時(shí),寫作void。
注意,省略var_list時(shí),表示不定參數(shù),而不是無參數(shù)。
4 {func_body;}
{}必須存在。
func_body為實(shí)現(xiàn)函數(shù)功能的實(shí)際語句。
int My (int a,int b)
{
int c;
c = a*b;
return c;
}
這是一個(gè)函數(shù),My=函數(shù)名稱。每個(gè)函數(shù)必須有一個(gè)函數(shù)名稱。這個(gè)名稱可以在其它函數(shù)中調(diào)用。
My前面有一個(gè)int,這個(gè)叫做函數(shù)的返回類型。也就是這個(gè)函數(shù)執(zhí)行完成后,要返回一個(gè)數(shù)值。
My的后面有兩個(gè)int,這個(gè)是函數(shù)的輸入?yún)?shù)。一個(gè)是被乘數(shù)a,一個(gè)是乘數(shù)b。所以這個(gè)函數(shù)的功能是計(jì)算a*b,并返回計(jì)算機(jī)的結(jié)果。這個(gè)就仿佛計(jì)算器中的乘法運(yùn)算。
上面這個(gè)函數(shù)還可以寫成很多的形式。
void My(int a,intb)
void My(void)
void My(int *a,int *b)
void My(int a,int b)
void *My(int a,int b)
int *My(int a,int b)
int My(void)
可能還有其他的形式,這個(gè)就需要根據(jù)自己的要求編寫。
#include iostream
#include conio.h
#include dos.h
using namespace std;
int My (int a,int b)
{
int c;
c = a*b;
return c;
}
void main()
{
int m;
cout" ok"endl;
m = My(3,4);
printf("%d ",m);
getch();
}
上面的程序代碼在BCB6中測試通過。可以不斷的修改函數(shù),以理解測試各種類型的函數(shù)。