этой программы с этим значением: ABCDEF нормально на ФристыеВо время печати цикла и зсап
, но еще раз, когда вы вводите значение с пространством, как: ABC DEF программа работает неправильно !!!! while loop игнорирует scanf во второй раз Что я делаю неправильно ?!
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main(){
bool checkSrc = false;
bool checkDst = false;
while (!checkSrc && !checkDst)
{
char ins[10];
printf("White Player : ");
scanf("%s",&ins);
}
}
Формат 'scanf'' '% s" 'читает * пробел * слова". –
@ user3121023 Да, хотя также необходимо проверить символ '' \ n'' на 'ins [strlen (ins) -1]'. Если его там нет, буфер был слишком мал, и на строке ввода остались непрочитанные символы. Если он есть, буфер был достаточно большим, и вы можете делать дальнейшие манипуляции с строкой, например, удаление заглавных символов пробелов и завершающих пробелов, включая окончательный символ новой строки. –