Почему строковый цикл игнорируется? - PullRequest
0 голосов
/ 16 декабря 2018

Я новичок в мире программирования и пытаюсь разбить строку, используя цикл, который должен разделять все символы по отдельности, но он игнорируется и в основном заканчивается отображением ввода пользователя вместо использования цикла дляотделить отдельные буквы / символы.Я пропустил объявление чего-то важного в цикле?

Ответы [ 3 ]

0 голосов
/ 17 декабря 2018

Есть несколько синтаксических ошибок с тем, что вы опубликовали.

 /* This should be <stdio.h>
 ... 
 /* Don't need a. semi-colon here
 int main();
 ...
 /* Calling getchar() will cause you to lose the first character of the
    the input
 */ 
    getchar();
    ... 
 /* Don't need a semi-colon here */
    for (i = 0; str[i] != '\0'; i++
    ...
    system("pause");
 }

С этими настройками вы должны найти, что код работает.

Write text:
Hello world
Input: Hello world

H
e
l
l
o

w
o
r
l
d


sh: pause: command not found

Я не на Windows, поэтому, если код на вашем конце, кажется, не работает после внесения изменений, это, вероятно, для конкретных окон.

0 голосов
/ 07 января 2019

Если вы используете Java, вы можете просто разбить пустую строку, а затем перебрать список, созданный методом split.

0 голосов
/ 17 декабря 2018

for (i = 0; str[i] != '\0'; i++); <- здесь точка с запятой, поэтому ваш цикл буквально ничего не делает </p>

также обратите внимание, что str[i] != '\0' - очень опасный способ перебора вашей строки.Если ваша строка не содержит символа с нулевым терминалом, C с радостью продолжит чтение памяти до конца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...