获取C字符串中索引引用的字符

Hon*_*rny 7 c

我有一个字符串.

char foo[] = "abcdefgh";
Run Code Online (Sandbox Code Playgroud)

我想写一个for循环,并逐个打印出所有字符:

a
b
c
Run Code Online (Sandbox Code Playgroud)

等等

这是在C.

小智 11

好吧,这是一个问题所以我要回答它,但我的回答有点不寻常:

#include <stdio.h>

int main(int argc, char** argv)
{
    char string[] = "abcdefghi";
    char* s;

    for ( s=&string[0]; *s != '\0'; s++ )
    {
        printf("%c\n", *s);
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

不是达到预期结果的最简单方法; 然而,它确实展示了字符串在C中的基本原理.我将让您阅读我已经完成的工作和原因.

  • @Honza Pokorny:这并不奇怪,因为它是语言的一个基本部分,令人惊讶的是,有人不知道如何在C和C++中处理字符串.它通常是您在C和C++中学习的第一件事(可能只是其他语言).我建议你选一本好的C或C++书(取决于你想学习哪一本)并真正学习基础知识. (4认同)
  • @r因为我不想直截了当地回答这个问题,因为OP会在拿起一本书后立即看到更好的方法.希望这会让他想到这条线真正意味着什么.我想我明确表示这不是通常的做法.我个人不会使用这种特殊的方法来打印字符串,但我希望比我更早看到它. (2认同)