作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要我的 scanf 在发现空格/空白时停止。
例如示例
如果我输入“E E”,我只需要 1 个“E”,所以它必须停在空格/空白处。
char end[] = "E";
char end1[] = "End";
char info[] = "";
while(run) {
scanf("%s", &info);
...
else if(strcmp(info, end) == 0 || strcmp(info, end1) == 0) {
end_of_turn();
}
...
}
现在的问题是,如果我输入“E E”,它将运行“end_of_turn”两次。
有谁知道为什么会这样吗?
编辑:
好吧,我不能中断 while 循环,因为那会停止程序。
最佳答案
使用break
来跳出while
循环?调用 end_of_turn()
如果您不想跳出循环,则可以使用 goto
语句。
您还可以从输入流中获取所有字符,然后使用以下代码丢弃它们:while(getchar() != '\n') ;
关于C 如何让 scanf 在空白处停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14697324/
我是一名优秀的程序员,十分优秀!