『新・明解C言語 入門編 第2版』演習問題解答例 10ー5

演習10ー5

問: List10-11の関数ary_setを、sry_set(&a[2], 2 ,99)と呼び出すとどうなるか。実行するとともにその結果を検討せよ。

// Ex1005.c

#include <stdio.h>

void ary_set1(int v[], int n, int val)
{
    for (int i = 0; i < n; i++)
        v[i] = val;
}

void ary_set2(int* v, int n, int val)
{
    for (int i = 0; i < n; i++)
        v[i] = val;
}


int main(void)
{
    int a[] = { 1, 2, 3, 4, 5 };

    ary_set1(a, 5, 11);

    for (int i = 0; i < 5; i++)
        printf("a[%d] = %d\n", i, a[i]);

    putchar('\n');

    ary_set2(&a[2], 2, 99);

    for (int i = 0; i < 5; i++)
        printf("a[%d] = %d\n", i, a[i]);


    return 0;

}

コメント

 配列[2]から2回だけ99が代入される。

 


書籍情報


コメント

タイトルとURLをコピーしました