怎么在函數(shù)中賦值c語言,C語言函數(shù)賦值

c語言:一個空數(shù)組作為型參,如何在函數(shù)中對其賦值?

數(shù)組作為參數(shù)是按地址傳遞的 數(shù)組名就是數(shù)組的首地址。因此在數(shù)組名作函數(shù)參數(shù)時所進行的傳送只是地址的傳送, 也就是說把實參數(shù)組的首地址賦予形參數(shù)組名。形參數(shù)組名取得該首地址之后,也就等于有了實在的數(shù)組。實際上是形參數(shù)組和實參數(shù)組為同一數(shù)組,共同擁有一段內(nèi)存空間。

西充網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司2013年至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。

C語言中輸入函數(shù)賦值?

n = scanf("%d",n);

這一句有問題

1. scanf 函數(shù)是有返回值的,它的返回值可以分成三種情況

1) 正整數(shù),表示正確輸入?yún)?shù)的個數(shù)。

例如執(zhí)行 scanf(“%d %d”, a, b);

如果用戶輸入”3 4”,可以正確輸入,返回2(正確輸入了兩個變量);

如果用戶輸入”3,4”,可以正確輸入a,無法輸入b,返回1(正確輸入了一個變量)。

2) 0,表示用戶的輸入不匹配,無法正確輸入任何值。如上例,用戶如果輸入”,3 4”,返回0。

3) EOF,這是在 stdio.h 里面定義的常量(通常值為-1),表示輸入流已經(jīng)結束。在Windows下,用戶按下CTRL+Z(會看到一個^Z字符)再按下回車(可能需要重復2次),就表示輸入結束;Linux/Unix下使用CTRL+D表示輸入結束。

你這個輸入一個返回值就是1,因此n也會一直等于一

C語言問題編寫賦值函數(shù)

#includestdio.h

#includestdlib.h

int assignment(int *,int);

void print(int *,int);

void main()

{

int sz,rt;

int *p; //定義一個指針,在子函數(shù)里再動態(tài)分配內(nèi)存

printf("輸入data的數(shù)據(jù)元素個數(shù):");

scanf("%d",sz);

rt=assignment(p,sz); //調(diào)用賦值函數(shù)

printf("數(shù)組最后元素為:%d\n",rt);

}

int assignment(int data[],int size) //按 Fibonacci 數(shù)列對數(shù)組元素依次賦值

{

int res;

data=(int *)malloc(size*sizeof(int));

if(size==1)

data[0]=1;

else if(size==2)

{

data[0]=1;

data[1]=1;

}

else

{

data[0]=1;

data[1]=1;

for(int i=2;isize;i++)

data[i]=data[i-1]+data[i-2];

}

print(data,size); //調(diào)用打印函數(shù)

res=data[size-1]; //最后一個元素是data[size-1]

free(data); //釋放內(nèi)存

return res;

}

void print(int data[],int size) //打印數(shù)組

{

for(int i=0;isize;i++)

printf("%d ",data[i]);

}

有注釋的,不明白的再討論

C語言中的函數(shù)賦值問題

#include

stdio.h

f(int

a,int

b,int

m){

//這個函數(shù)是個完全沒意思的函數(shù)

m=a*b;

return

;

//原因在這

這里直接return了

沒指明返回哪個變量

那它的意義就只是說f函數(shù)結束了

其實什么也沒返回

}

void

main(){

int

m=1;

//這里對m賦值1

f(2,3,m);

//運算是完全沒意思的運算

所以最后結果是1

printf("%d",m);

}

為什么運行結果是m=1?????

//

在f函數(shù)那

return

m

就能得到你想要的

不過要把主函數(shù)里的倒數(shù)3行改成

m=f(2,3,m)

當前文章:怎么在函數(shù)中賦值c語言,C語言函數(shù)賦值
文章鏈接:http://www.muchs.cn/article6/phjgog.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、營銷型網(wǎng)站建設、企業(yè)建站、搜索引擎優(yōu)化、網(wǎng)站策劃、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設