#c #buffer
#c #буфер
Вопрос:
когда я пытаюсь использовать _flushall() для очистки буфера, я не могу поставить знак ,-,*,/, потому что он завершается, может кто-нибудь мне помочь? ‘
printf("Podaj liczbe a:");
_flushall();
scanf_s("%lf", amp;a);
printf("Podaj dzialanie:");
_flushall();
scanf_s("%c", amp;dzialanie);
if ((dzialanie != ' ') amp;amp; (dzialanie != '-') amp;amp; (dzialanie != '*') amp;amp; (dzialanie != '/'))
{
printf("Nieprawidlowy symbol dzialanian");
system("pause");
return -1;
}
printf("Podaj liczbe b: ");
system("pause");
return 0;
Комментарии:
1. В вызове
scanf_s()
отсутствуетsize
аргумент. Пожалуйста, включите предупреждения компилятора. Я не могу скопировать точную строку здесь, потому что только мои глаза могут читать графические изображения текста.2. Пожалуйста, отправьте код и выводите в виде текста (кодовые блоки). Не стесняйтесь также добавлять изображение, но не используйте только изображение.
3. Повторите » Пожалуйста, включите предупреждения компилятора «, например, перейдя
-Wall -Wextra -pedantic
в gcc / clang .4. @PiotrZajkowski, не используйте
scanf_s
. Придерживайтесьscanf
.scanf_s
это расширение Microsoft, которое на самом деле не решает никаких проблем.5. Спасибо, ребята, за вашу помощь, я новичок в программировании, я изменил scanf_s на scanf, затем я пытался указать размер scanf(), я ввел 1 в конце, но это не сработало, наконец, когда я поставил пробел перед %c это сработало.