【问题标题】:go through an array in C在 C 中遍历一个数组
【发布时间】:2012-04-11 12:59:55
【问题描述】:

我想在使用 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]);
    }
}

【问题讨论】:

    标签: c arrays loops for-loop


    【解决方案1】:

    这个呢?

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

    【讨论】:

      【解决方案2】:

      使用a[i]

      但这是一个非常基本的问题,我建议你在提问之前先看看互联网上的一些教程。

      【讨论】:

      • 谢谢。是的,对这个太陌生了,我什至不知道如何搜索它。但我下次会记住这一点。
      【解决方案3】:

      您可以在循环内使用a[i] 来访问第 ith 元素。

      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]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-19
        相关资源
        最近更新 更多