程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c-C 復制數組的一點小問題 復制後輸出結果和源數組不一樣

c-C 復制數組的一點小問題 復制後輸出結果和源數組不一樣

編輯:編程綜合問答
C 復制數組的一點小問題 復制後輸出結果和源數組不一樣
 #include <stdio.h>

int i=5;

void input_array ( int array[] ){
    int a;
    for ( a=0; a<i; a++ ){
    scanf ( "%i", &array[a] );
    }
}

void output_array ( int array[] ){
    int a;
    for ( a=0; a<i; a++ ){
    printf ( "%i%s", array[a], "\t" );
    }
}

void copy_array ( int source[], int output[] ){
    int a;
    for ( a=0; a<i; a++ ){
        output[i]=source[i];
    }
}

int main(){
    int array[i];
    int copy_form_array [i];
    printf ("%s%i%s", "Pleast enter some numbers ( ", i, " integers limited ): \n");
    input_array ( array );
    output_array ( array );
    printf ( "%s", "\n" );
    copy_array ( array, copy_form_array );
    output_array ( copy_form_array );
    printf ("%s", "\n");
    return 0;
}

在做一個復制數組的練習的時候寫了這些代碼
編譯時沒有提示
運行結果如下

 $ ./20141210_am_copy_array 
Pleast enter some numbers ( 5 integers limited ): 
1 2 3 4 5
1   2   3   4   5   
1594599648  32767   1617756790  32767   1594599680

為什麼數組復制後跟源數組不一樣??
初學者表示百思不得其解額 :(

最佳回答:


 void copy_array ( int source[], int output[] ){
    int a;
    for ( a=0; a<i; a++ ){
        output[i]=source[i];
    }
}

代換output[i]=source[i]; output[a]=source[a];

u011767611
u013845780
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved