Я должен ввести символы с пробелами между ними. Например, +/8 7 - 9 '\ n' (когда я нажимаю Enter) Затем я пишу их в массиве символов и в нем есть что-то вроде этого:. +/89-9Чтение символов с помощью scanf ("% c, &ch);
Как я могу пропустить эти белые пространства
Я пытался написать что-то, но он не работает:
char *arr = new char[1000];
char ch;
scanf("%c", &ch);
int i = 0;
arr[0] = ch;
cout << arr[0];
while (ch != '\n')
{
//scanf("%c", &ch);
scanf("%*[ ]%c", &ch);
cout << (arr[i++] = ch);
}
arr[i++] = '\n';
Смешивание C и C++ является, нет, нет, использовать одну функции или другой. – t0mm13b
В самой первой итерации цикла переменная 'i' остается равной нулю до * после *, вы делаете' arr [i ++] = ch'. Это означает, что вы перезаписываете первый символ, который вы читаете перед циклом. –
Мой код переходит в бесконечный цикл, и я не могу его исправить, даже я делаю переменные изменения, как вы сказали. – fghjkl4083