回覆列表
  • 1 # 使用者6765375850720

    #include<stdio.h>

    int a(char array1[],char array2[]); // 最好放這裡

    int main()

    {

    //int a(char array1[],char array2[]); // 最好放外面去宣告

    char b[ArraySize]={"asdfghjklq"};

    int i,c[10];

    int count;

    //a(b[10],c[10]); // 錯了,這樣是表示送兩個位元組給 a 函式作引數。

    // b[10]是取b的下標為10的char。並且下標越界。b陣列最大是b[9]

    int count = a(b,c); //這樣才對。另外從 a 函式返回 c 有多少給數字。

    for(i=0; i < count; i++) // c 可能沒有10個數據,比較 a 函式返回的長度。

    printf("%c",c[i]);

    return 0;

    }

    int a( char array1[],char array2[]) // 不需要宣告陣列長度

    {

    int i,j;

    j=0;

    for(i=0; i < strlen(array1); i++) // 用 strlen 求array1長度。另外個朋友用"\0"也行

    {

    if(array1[i]="a"||array1[i]="e"||array1[i]="i"||array1[i]="o"||array1[i]="u")

    {

    array2[j]=array1[i];

    j++;

    }

    }

    //return (array2[j]); //array2 是進來的引數,沒必要返回

    return j; // 返回複製到 array2 中的個數。

    }

  • 中秋節和大豐收的關聯?
  • 廣泛的閱讀各種書,形容“讀書很多”的四字詞語,都有什麼?