Я новичок в программировании на C. И я занимался практикой, и вопрос звучит так: используйте оператор?: И оператор for, чтобы написать программу, которая продолжает брать символы, введенные пользователем, до тех пор, пока не будет учтен символ q.для цикла работает дважды в C
А вот программа, которую я написал:
#include <stdio.h>
main()
{
int x, i=0;
for (x = 0; x == 'q'? 0 : 1; printf("Loop %d is finished\n",i))
{
printf("Enter q to exit!!!\n");
printf("Please enter a character:\n");
x=getc(stdin);
putc(x,stdout);
++i;
}
printf("\nThe for loop is ended. Bye!");
return 0;
}
Проблема в том, каждый раз, когда я вхожу в «не-Q» характер, цикл, кажется, дважды баллотировался. Я не знаю, что не так с моей программой. Пожалуйста, помогите!
Кажется, вам нужно очистить входной буфер, потому что вы читаете в новой строке, я думаю. – zeitue