C言語関係掲示板

過去ログ

No.111.配列の意味


No.622

文の意味が解りません(プログラミング超初心者)
投稿者---キーン(2001/12/04 23:21:20)


はじめまして。
本を読みながらC言語を勉強しはじめたのですが(プログラミング自体はじめてです。)、下記の例題がどうしても理解できずにいます。
24行目が、私の頭の中では
「printf内の2つの%dは両方ともindexの番号が表示されてscore[score_count]に格納された数値を表示しない。」
となってしまうのですが、実際はちゃんとscore[score_count]に格納された数値を表示します。
ここらへんの関係が解りません。
「こんなことも理解できないでプログラムなんか組めるものか!バカ!」
と思われるかもしれませんが、真面目にわからないのです。
どうかお教えください。よろしくお願いします。

1: #include <stdio.h>
2:
3: int main(void)
4: {
5: int score[100];
6: int score_count;
7: int temp_score;
8: int index;
9:
10: /* 配列に値を入力する */
11: score_count = 0;
12: while(1){
13: scanf("%d",&temp_score);
14:   if (temp_score == -1){
15:     break;
16:   }
17: score[score_count] = temp_score;
18: score_count++;
19: }
20:
21: /* 配列の内容を表示する */
22: index = 0;
23: while(index < score_count) {
24: printf("score[%d]..%d\n,index,score[index]);
25: index++;
26: }
27:
28: return 0;
29: }


No.623

Re:文の意味が解りません(プログラミング超初心者)
投稿者---ともじ(2001/12/05 00:08:55)


こんばんは。

>24行目が、私の頭の中では
>「printf内の2つの%dは両方ともindexの番号が表示されてscore[score_count]に格納された数値を表示しない。」
>となってしまうのですが、実際はちゃんとscore[score_count]に格納された数値を表示します。
>ここらへんの関係が解りません。

>21: /* 配列の内容を表示する */
>22: index = 0;
>23: while(index < score_count) {
>24: printf("score[%d]..%d\n,index,score[index]);
>25: index++;
>26: }

「score」という名前のタンスがあって、そのタンスには上から順に
0から番号が付けられています。
24行目の「index」は番号を示し、「score[index]」はタンスの
index番目の中身ということになります。

そんな風にイメージすると、少しはわかりやすくなるでしょうか。

No.636

Re:文の意味が解りません(プログラミング超初心者)
投稿者---キーン(2001/12/05 23:31:24)


>「score」という名前のタンスがあって、そのタンスには上から順に
>0から番号が付けられています。
>24行目の「index」は番号を示し、「score[index]」はタンスの
>index番目の中身ということになります。
>
>そんな風にイメージすると、少しはわかりやすくなるでしょうか。

ともじさん、ありがとうございます。
またくだらない質問をするかもしれませんが、今後ともよろしくお願い致します。


戻る


「初心者のためのポイント学習C言語」 Last modified:2002.01.11
Copyright(c) 2000-2002 TOMOJI All Rights Reserved