此程序具有此值: ABCDEF 在第一个是好的
但是当您输入带空格的值时,例如: ABC DEF 该程序工作错误!!!! while循环第二次忽略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);
}
}
答案 0 :(得分:2)
%s - 字符串。这将读取后续字符,直到找到空格(空白字符被视为空白,换行符和制表符)。
我建议您使用fgets()
而不是scanf()
,因为后者没有缓冲区溢出保护。
#define namesize 15
char *ins = malloc (namesize);
fgets(ins, namesize, stdin);