Получить символ, на который ссылается индекс в строке C - PullRequest
6 голосов
/ 18 декабря 2010

У меня есть строка.

char foo[] = "abcdefgh";

Я хотел бы написать цикл for и распечатать по одному все символы:

a
b
c

и т. Д.

Этов к.

Ответы [ 3 ]

10 голосов
/ 18 декабря 2010

Хорошо, это вопрос, поэтому я собираюсь на него ответить, но мой ответ будет немного необычным:

#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;
}

Этот не самый простойспособ достижения желаемого результата;Тем не менее, он демонстрирует основы того, что строка в C. Я оставлю вас, чтобы прочитать о том, что я сделал и почему.

2 голосов
/ 19 декабря 2010
void main(int argc, char** argv)
{
    char foo[] = "abcdefgh"; 
    int len = strlen(foo);
    int i = 0;
    for (i=0; i < len; i++)
    {
        printf("%c\n", foo[i]);
    }
    return 0;
}
0 голосов
/ 15 марта 2012

Еще один способ

int main(int argc, char *argv[])
{
   char foo[] = "abcdefgh";
   int len = sizeof(foo)/sizeof(char);
   int i = 0;
   for (i=0; i < len; i++) {
      printf("%c\n", foo[i]);
   }
   return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...