0
int main()
{
 int kkk=1; int s, w;
    char r;
    char k;


    while(kkk==1){

    init_chessboard();
    print_chessboard();


            printf("Zadaj(S,R):");
            scanf("%c%i", &r,&s);
            printf("vyp %c%i\n",r,s);


            printf("Zadaj nov(S,R):");
            scanf("%c%i", &k, &w);
            printf("vyp %c%i\n", k, w);



    getchar();

    }

}

` Код программы внизу. Проблема в том, что я прошу задать в сканф символ и число (букву по вертикале и число по горизонтали ), первый сканф срабатывает нормально, а второй нет. Второй сканф переносит на другую строку и "67" пишет постоянно. Помогите пожалуйста.

код

введите сюда описание изображения

Alex
  • 11
  • Добавте код текстом. – Alexander Semikashev Mar 12 '19 at 03:54
  • Вероятно scanf("%c%d",...) – NewView Mar 12 '19 at 03:58
  • scanf - это зло, надёжнее разбирать строки руками. При чем тут дальнейшее? вы присваиваете переменным значение, и после scanf текста у вас больше нет – NewView Mar 12 '19 at 04:01
  • ок, как разбирать руками? – Alex Mar 12 '19 at 04:04
  • Цикл for, использовать автомат, прогонять через switch - вариантов много, зависит от задачи парсинга. – NewView Mar 12 '19 at 04:05
  • После первого scanf в буфере остается символ новой строки. – Harry Mar 12 '19 at 04:38
  • да, знаю, писал это, только из-за этого и сделал эту запись, не знал как изменить сканф что бы убрать перенос на новую строку. – Alex Mar 12 '19 at 07:18

0 Answers0