2012-04-11 4 views
-2

私は[0]を使う場所を増やしたいと思います。 a++のようなものです。私が考えることができる唯一の他の解決策は、switch caseまたはif/else if文の束ですが、それは非効率的です。これは可能ですか?Cの配列を経由して

#include <stdio.h> 
int 
main(void) 
{ 
    const char *a[6];  
    a[0]="one"; 
    a[1]="two"; 
    a[2]="three"; 
    a[3]="four"; 
    a[4]="five"; 
    a[5]="six"; 

    for (int i = 0; i < 6; i++) 
    { 
     printf("This old man, he played %s\nHe played knick-knack on my thumb\nKnick-knack paddywhack, give your dog a bone\nThis old man came rolling home\n\n", a[0]); 
    } 
} 
+0

printf( "...%s ..."、a [i]); – Morpfh

答えて

2

この内容はどうですか?

printf(..., a[i]); 
2

使用a[i]

しかし、これは非常に基本的な質問です。質問する前に、インターネットのチュートリアルをご覧ください。

+0

ありがとうございます。はい、私はそれを検索する方法を知らなかったこれに新しいです。しかし、私は次の時間のためにそれを念頭に置くでしょう。 – sixstatesaway

0

ループ内でa[i]を使用して、i 番の要素にアクセスできます。

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

あなたは今まであなたはこのようにそれを行うことができ、ループ内のポインタをインクリメントする必要がある場合:

const char **p=a; 
for (int i=0; i<N; i++) 
    printf("%s\n", *p++); 

個人的に、私はa[i]を使用します。

関連する問題