double Multipy(double a, double b)
景德鎮(zhèn)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話(huà)聯(lián)系或者加微信:028-86922220(備注:SSL證書(shū)合作)期待與您的合作!
{
return a * b;
}
int main()
{
double a, b;
printf("Please Enter two data");
scanf("%lf %lf", a, b);
printf("The value : %lf", Multipy(a, b));
return 0;
}
函數(shù)類(lèi)型是根據(jù)有無(wú)返回值判斷的,無(wú)返回值就把函數(shù)定義為void類(lèi)型
如果是單純輸出矩陣那就不用返回了,如果還要傳回主函數(shù)有其它應(yīng)用那就返回吧
編寫(xiě)九九乘法表主要是通過(guò)循環(huán)語(yǔ)句進(jìn)行控制輸出乘法表中各項(xiàng)。將實(shí)現(xiàn)九九乘法表的程序單獨(dú)寫(xiě)成一個(gè)函數(shù),就可以在主函數(shù)利用函數(shù)調(diào)用的形式來(lái)實(shí)現(xiàn)了。
具體實(shí)現(xiàn)方法可以參考如下程序:
#includestdio.h
void YangMultiplicationTable() // 實(shí)現(xiàn)九九乘法表的函數(shù)
{
int i=1,j=1;
for(i=1;i=9;i++) // 控制行數(shù),共9行
for(j=1;j=i;j++) // 控制列數(shù),每列的列數(shù)與行號(hào)一致
{
printf("%d*%d=%d",j,i,i*j); // 輸出九九乘法表的每一項(xiàng)
if(i!=j) printf("\t"); // 每行中相鄰兩項(xiàng)隔開(kāi)
if(i==j) printf("\n"); // 每行輸出完畢后進(jìn)行換行
}
}
void main()
{
YangMultiplicationTable(); // 通過(guò)函數(shù)調(diào)用的方式實(shí)現(xiàn)九九乘法表
}
這個(gè)就體現(xiàn)了C的模塊化編程思想。正如你說(shuō)的,main函數(shù)里寫(xiě)的是c=multi(a,b);,這只是一個(gè)函數(shù)名(看到名字就知道是實(shí)現(xiàn)一個(gè)乘法),你如果去掉main函數(shù)外面的int multi(x,y){ int x,y; int z; z=x*y; return(z);},在運(yùn)行的時(shí)候肯定會(huì)報(bào)錯(cuò),因?yàn)檫@個(gè)函數(shù)沒(méi)有定義。就像我要找一個(gè)叫張三的人,首先他要存在,否則是沒(méi)人搭理我的。
‘為什么不直接用main外面這個(gè)...再加個(gè)scanf來(lái)輸入,printf來(lái)輸出,不是也能求出積嗎?’,這個(gè)是因?yàn)镃語(yǔ)言語(yǔ)法規(guī)定,程序必須從main函數(shù)開(kāi)始執(zhí)行,所以要通過(guò)main函數(shù)來(lái)調(diào)用啊。樓主說(shuō)的也不是不可行,不過(guò)你這么做就違背了模塊化編程思想了。這是很小的程序,大家能看得明白,如果是很大的程序的話(huà),糾錯(cuò)都會(huì)很困難,所以盡量做到一個(gè)函數(shù)只實(shí)現(xiàn)一個(gè)功能。
‘外面的代碼和main里的代碼有什么關(guān)系嗎?’,就是調(diào)用和被調(diào)用的關(guān)系
自己看看吧,可以同時(shí)都換成注釋的行,有助于你理解參數(shù)傳遞
:)======================================================
#includestdio.h
#define M 5
#define P 4
#define N 3
void mltp(float (*a)[P],float (*b)[N],float (*c)[N])
//void mltp(float *a,float *b,float *c)
{
for(int i=0;iM;i++)
for(int j=0;jN;j++)
for(int k=0;kP;k++)
c[i][j]+=a[i][k]*b[k][j];
//c[i*N+j]+=a[i*P+k]*b[k*N+j];
}
void main()
{
int i,j;
float a[M][P],b[P][N];
float c[M][N]={0};
printf("plz input a,b:\n");
for(i=0;iM;i++)
for(j=0;jP;j++)
scanf("%f",a[i][j]);
for(i=0;iP;i++)
for(j=0;jN;j++)
scanf("%f",b[i][j]);
mltp(a,b,c);
//mltp(a[0][0],b[0][0],c[0][0]);//等
//mltp((float*)a,(float*)b,(float*)c);//價(jià)
printf("result is:\n");
for(i=0;iM;i++)
{
for(j=0;jN;j++)
printf("%f\t",c[i][j]);
printf("\n");
}
}
void add_mul(int x,int y,int *sum,int *product){
*sum=x+y;
*produnct=x*y;
}