так что я этот код, который должен получить координаты от пользователя:зсап в то время как цикл работает только один раз
#include <stdio.h>
#include <time.h>
int main() {
int number;
char letter;
int points = 3;
while(points < 8){
printf("give me first coordinate (letter)");
scanf("%c",&letter);
printf("give me second coordinate (number)");
scanf("%d",&number);
}
}
, насколько я знаю, это должно продолжать принимать координаты от пользователя, но вместо он берет его только один раз, а затем подавляет действительно странным образом, как будто он пропускает scanf без какой-либо причины. вот мой выход:
give me first coordinate (letter)a
give me second coordinate (number)1
give me first coordinate (letter)give me second coordinate (number)12
give me first coordinate (letter)give me second coordinate (number)df
give me first coordinate (letter)give me second coordinate (number)give me first coordinate (letter)give me second coordinate (number)sss
Я чувствую себя очень смущен, так как это просто код, и я не имею понятия slightes причиняет это. кто-нибудь? (если это имеет значение, моя система - горный лев)
Подумайте о том, как Вы обращаетесь с новой строки, присутствующие на входе. Подсказка: вы сейчас не обращаетесь с ними. –
Вы игнорируете результат операции ввода. Это смертельная ошибка программирования. –
@KubaPolaczek Ошибки сделаны всеми ... но как вы можете избежать этой ошибки в будущем? На мой взгляд, этот вопрос в основном касается «scanf». Я начал бы внимательно читать руководство 'scanf', снова и снова, пока не пойму все это ... Для дальнейшего использования opengroup дает хорошее описание стандартных библиотечных функций C. Вы можете найти руководство opengroup scanf с помощью googling «opengroup scanf». – Sebivor