一段测试代码,用来测试 freopen("out.txt", "w", stdin); 对输入的影响
#include <bits/stdc++.h>
using namespace std;
int main()
{
// freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdin);
int a=-100;
scanf("%d",&a);
printf("%d",a);
}
调试图:
a初始化为-100,此时控制台无法输入,可直接“下一步”
a的值一直为初始值-100
可一旦注释掉freopen("out.txt", "w", stdin);
整个程序就正常了(cin输入也有这个问题)
还发现freopen("in.txt", "r", stdin);并不会影响scanf输入,程序正常。
困扰了我好久,无意间注释掉这行才发现。
小白求救各位大神原因