-2

a[0]を使用する場所をインクリメントしたい。のようなものa++。私が考えることができる他の唯一の解決策は、switchcaseまたは一連のif/ else ifステートメントですが、それは非効率的です。これは可能ですか?

#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]);
    }
}
4

3 に答える 3

2

これはどうですか?

printf(..., a[i]);
于 2012-04-11T13:01:28.473 に答える
2

を使用しa[i]ます。

ただし、これは非常に基本的な質問です。質問する前に、インターネットのチュートリアルを確認することをお勧めします。

于 2012-04-11T13:02:07.540 に答える
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]

于 2012-04-11T13:04:53.297 に答える