好的,我正在解决代码厨师的问题(非常简单)。 它简要地说:
- 将给出一个字符串的问题,并且必须生成另一个字符串,该字符串没有在问题字符串中使用任何字母。假设大写和小写相同。
- 如果使用了所有字母,只需打印〜符号。
我的整个逻辑是正确的,除了我在输入中发现错误,这是由于在gets()之前使用fflush(stdin)引起的。请解释为什么这是一个错误?忽略剩下的代码。
问题链接:http://www.codechef.com/problems/NOLOGIC/
链接到错误的解决方案:http://www.codechef.com/viewsolution/3881817
更正解决方案的链接:http://www.codechef.com/viewsolution/3881827
请注意:在更正的代码中,我只更改了不使用fflush(stdin)和使用getchar()
答案 0 :(得分:2)
因为fflush(stdin)
的行为是特定于实现的;并且由于实施(针对此问题)未知,行为也将是未知的。
您可能会安全地预期fflush(stdin)
的行为无法预测。