第1章クイズ

クイズ1

int scores[3] = {80, 90, 70}; int *p = scores; としたとき、p + 1 の説明として正しいものはどれですか。

クイズ2

次のプログラムの出力はどれですか。

#include <stdio.h> int main(void) { int scores[4] = {80, 90, 75, 70}; int *p = scores; printf("%d\n", *(p + 2)); printf("%ld\n", (long)((scores + 3) - p)); return 0; }

クイズ3

C の規格において、配列 a と整数 i について a[i] はどの式の別の書き方だと定められていますか。

クイズ4

次のプログラムのうち、実行すると異常終了するおそれがあるのはどの行ですか。

#include <stdio.h> int main(void) { char name[] = "Tanaka"; /* A */ char *label = "score"; /* B */ name[0] = 'K'; /* C */ label[0] = 'S'; /* D */ printf("%s %s\n", name, label); return 0; }

クイズ5

次のプログラムの出力はどれですか。

#include <stdio.h> int main(void) { int scores[5] = {60, 95, 95, 70, 80}; int *best = scores; for (int *p = scores; p < scores + 5; p++) { if (*p > *best) { best = p; } } printf("%d %ld\n", *best, (long)(best - scores)); return 0; }

未回答の問題は、不正解として正解と解説のみ表示します

ログインが必要です

クイズに回答するにはログインしてください。