提供兩個(gè)辦法:
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供香坊網(wǎng)站建設(shè)、香坊做網(wǎng)站、香坊網(wǎng)站設(shè)計(jì)、香坊網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、香坊企業(yè)網(wǎng)站模板建站服務(wù),十余年香坊做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
1.在主調(diào)函數(shù)中建立數(shù)組,將數(shù)組指針傳給自定義的函數(shù),處理后主調(diào)函數(shù)中的數(shù)組值也就變化了。
void fun(int a[],int n){
........
}//其中a[]就是要輸入的數(shù)組,n是這個(gè)數(shù)組的長(zhǎng)度。
void main(void){
int arry[10]={1,2,3,4,5,6,7,8,9,0};
fun(arry,10);
......
}
2.可以在主調(diào)函數(shù)中建立數(shù)組并把首地址和長(zhǎng)度傳給函數(shù),在函數(shù)中創(chuàng)建一個(gè)動(dòng)態(tài)數(shù)組,處理完后把動(dòng)態(tài)數(shù)組的首地址返回主調(diào)函數(shù),最后在主調(diào)函數(shù)中釋放動(dòng)態(tài)申請(qǐng)的內(nèi)存。
int *fun(int a[],int n){
int *p=(int *)malloc(n*sizeof(int));//申請(qǐng)內(nèi)存.
if(!p){//判斷是否申請(qǐng)成功.
printf("failure...");
exit(0);
}
memcpy(p,a,n*sizeof(int));//把主調(diào)函數(shù)的數(shù)組拷貝過來.
......
return p;
}
void main(void){
int arry[10]={1,2,3,4,5,6,7,8,9,0},*ptmp;
ptmp=fun(arry,10);
......
free(ptmp);//釋放申請(qǐng)的空間.
}
數(shù)組的內(nèi)容是不能一一傳給函數(shù)的……
限制在C語言中,利用printf直接輸出數(shù)組是不可以的。
但是你的做法是可以的。只是問題出在你數(shù)組使用越界了。
解釋一下:
printf不能直接用來輸出數(shù)組。
例如:
#includestdio.h
int main(){
int a[3]={1,2,3};
int i;
for(i=0;i3;i++)
printf("%d",a);
}是錯(cuò)誤的
所以要是輸出數(shù)組的話,必須要借助其他的語句輸出,要一個(gè)一個(gè)地輸出,例如for語句的循環(huán)輸出。
例如:
#includestdio.h
int main(){
int a[3]={1,2,3};
int i;
for(i=0;i3;i++)
printf("%d",a[i]);
}但是你這樣的做法是可以:
因?yàn)槟銓懙腶[3][3]實(shí)際上已經(jīng)指定了這個(gè)數(shù)字在這個(gè)二維數(shù)組中的橫坐標(biāo)和縱坐標(biāo),相當(dāng)于一個(gè)int型的數(shù)據(jù)。但是不過你數(shù)組越界了。
額外引申一下:直接用scanf輸入一個(gè)數(shù)組的量可以么?
#includestdio.h
int
main(){
char
a[3];
scanf("%c",a);
int
i;
for(i=0;i3;i++)
printf("%c",a[i]);
}
這樣輸入3個(gè)字符,只能把輸入的第一個(gè)字符放進(jìn)a數(shù)組里面。因?yàn)閍就是這個(gè)數(shù)組的地址,同時(shí)也表示這個(gè)數(shù)組的第一個(gè)。a可以給數(shù)組的第一個(gè)放進(jìn)一個(gè)字符,但是后面的就無能為力的。
代碼均在Devc++測(cè)試。
#include
"stdio.h"
void
input(int
a[10])
//給一維數(shù)組輸入數(shù)據(jù)
{
int
i;
for(i=0;i10;i++)
scanf("%d",a[i]);
}
void
output(int
a[10])
//輸出一維數(shù)組輸入數(shù)據(jù)
{
int
i;
for(i=0;i10;i++)
printf("%d
",a[i]);
}
int
main()
{
int
b[10];
input(b);
//調(diào)用input函數(shù)給數(shù)組b賦值
output(b);//調(diào)用output函數(shù)輸出數(shù)組b中的值
}
網(wǎng)站標(biāo)題:c語言函數(shù)輸出一個(gè)數(shù)組 C語言數(shù)組的輸出
網(wǎng)站地址:http://muchs.cn/article44/hjsche.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、建站公司、定制網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)站營(yíng)銷、全網(wǎng)營(yíng)銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)