第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;
}未回答の問題は、不正解として正解と解説のみ表示します
ログインが必要です
クイズに回答するにはログインしてください。