2012-04-11 18 views
-2

Ich möchte erhöhen, wo ich eine [0] verwenden. So etwas wie a++. Die einzige andere Lösung, an die ich denken kann, ist ein Switch-Fall oder ein Bündel von if/else if-Anweisungen, aber das scheint ineffizient zu sein. Ist das möglich?durchlaufen ein Array in 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

Antwort

2

Was ist damit?

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

Verwenden Sie a[i].

Aber das ist eine sehr grundlegende Frage, ich würde vorschlagen, dass Sie sich ein Tutorial im Internet ansehen, bevor Sie fragen.

+0

danke. Ja, ich war so neu, dass ich nicht einmal wusste, wie ich danach suchen sollte. Aber ich werde das für das nächste Mal im Hinterkopf behalten. – sixstatesaway

0

Sie können innerhalb der Schleife a[i] verwenden, um auf das Element th zuzugreifen.

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

Wenn Sie jemals einen Zeiger in einer Schleife zu erhöhen haben, dann können Sie es wie folgt tun:

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

Persönlich würde ich a[i] verwenden.