1

好的,我正在解决代码厨师中的一个问题(非常容易)。它简要说明:

- 将给出一个字符串形式的问题,并且必须生成另一个字符串,该字符串在问题字符串中没有使用任何字母。假设大写和小写相同。

- 如果所有字母都已使用,只需打印 ~ 符号。

我的整个逻辑都是正确的,除了我在输入中发现错误,这是由于在 gets() 之前使用 fflush(stdin) 引起的。请解释为什么这是一个错误?忽略其余代码。

问题链接:http: //www.codechef.com/problems/NOLOGIC/

链接到错误的解决方案:http: //www.codechef.com/viewsolution/3881817

链接到更正的解决方案:http: //www.codechef.com/viewsolution/3881827

请注意:在更正的代码中,我仅在不使用 fflush(stdin) 和使用 getchar() 方面进行了更改

4

1 回答 1

2

是的行为fflush(stdin)是特定于实现的;并且由于实现(对于这个问题)是未知的,因此行为也将是未知的。

您可以放心地预期 的行为fflush(stdin)是不可预测的。

于 2014-05-10T06:31:19.113 回答