-2

我想在使用 a[0] 的地方增加。类似的东西a++。我能想到的唯一其他解决方案是 switch case 或一堆 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 回答