C入門7 課題

1. 次のプログラムを実行すると、出力されるものは何だと思いますか。
  実際に試してください。(できれば、隣近所の人と結果をくらべてみてください。)

#include <stdio.h>

int main(void)
{
    int x = 100;
    printf("%d", &x);
    return 0;
}

2. 次のプログラムを実行すると、出力はどうなると思いますか。
  まず予想して、それから、試してみてください。

#include <stdio.h>

int main(void)
{
    int a[] = {1, 2, 3};
    int *p = a;
    printf("%d", *(p + 2));
    return 0;
}

3. 次のプログラムを実行すると、出力はどうなると思いますか。
  まず予想して、それから、試してみてください。

#include <stdio.h>

int main(void)
{
    int i;
    int a[] = {1, 2, 3};
    *a = 100;
    *(a + 1) = 200;
    *(a + 2) = 300;
    for(i = 0; i < 3; i++)
        printf("%d", a[i]);
    return 0;
}

4. 次のプログラムを実行すると、出力はどうなると思いますか。
  まず予想して、それから、試してみてください。

#include <stdio.h>

int main(void)
{
    int i;
    int a[] = {1, 2, 3};
    int *p = a;
    *p = 100;
    *(p + 1) = 200;
    *(p + 2) = 300;
    for(i = 0; i < 3; i++)
        printf("%d", a[i]);
    return 0;
}

5. 次のプログラムを実行すると、出力はどうなると思いますか。
  まず予想して、それから、試してみてください。

#include <stdio.h>

int main(void)
{
    int i;
    char a[] = "hello";
    *a = 'H';
    *(a + 1) = 'E';
    *(a + 2) = 'L';
    for(i = 0; i < 5; i++)
        printf("%c", a[i]);
    return 0;
}

6. 次のプログラムが問5のプログラムと同様に動作するように、
  /* ここ */に入れるべきコードを書いてください。

#include <stdio.h>

int main(void)
{
    int i;
    char a[] = "hello";
    /* ここ */
    *p = 'H';
    *(p + 1) = 'E';
    *(p + 2) = 'L';
    for(i = 0; i < 5; i++)
        printf("%c", a[i]);
    return 0;
}


解答例

C入門7
C入門目次
ホーム