社区讨论
求问 玄学IO问题?
P1407[国家集训队] 稳定婚姻参与者 7已保存回复 9
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 9 条
- 当前快照
- 1 份
- 快照标识符
- @mi85vxn7
- 此快照首次捕获于
- 2025/11/21 09:08 4 个月前
- 此快照最后确认于
- 2025/11/21 09:08 4 个月前
RT 调了半天找不到错
最后发现只要删掉
CPPios::sync_with_stdio(false);
这一行就会
模糊中有印象,以前好像也遇到过另一个的问题
这里一起请教一下各位
(1)上面的情况是什么原因?
(2)这是好久以前遇到的问题
就是读入一个稀疏矩阵然后按顺序输出其中非零元素,问题很简单(你可能没有理解 但重点不在这),但是我想问一下的问题
先贴代码:
CPP#include<bits/stdc++.h>
#include<stdlib.h>
using namespace std;
#define ZLL 100001
int n,m,k;
int x[ZLL],y[ZLL],d[ZLL];
int c[ZLL];
int *a[ZLL];
int main()
{
ios::sync_with_stdio(false);
freopen("1.txt","r",stdin);
//scanf("%d%d%d",&n,&m,&k);
cin>>n>>m>>k;
for(int i=1;i<=k;i++)
{
//scanf("%d%d%d",&x[i],&y[i],&d[i]);
cin>>x[i]>>y[i]>>d[i];
c[y[i]]++;
}
for(int i=1;i<=m;i++)
a[i]=new int[c[i]];
for(int i=1;i<=k;i++)
{
*a[y[i]]=d[i];
a[y[i]]++;
}
for(int i=1;i<=m;i++)
{
a[i]-=c[i];
for(int j=1;j<=c[i];j++,a[i]++)
cout<<*a[i]<<" ";
//printf("%d ",*a[i]);
}
return 0;
}
给出代码中提到的
CPP
从我的注释可以看出我尝试了scanf/pritnf 与 cin/cout 两种IO
这是实验情况:
注:将有无ios::sync_with_stdio(false);简称为Q与NQ将有无freopen语句简称为F与NF
(1) Q F cin/cout 正常运行
(2) Q F scanf/printf 正常运行
(3) NQ F scanf/printf 正常运行
(4) Q NF scanf/printf 正常运行
(5) NQ NF scanf/printf 正常运行
(6) NQ F cin/cout 正常运行
(7) Q NF cin/cout 正常运行
(8) NQ NF cin/cout 正常运行
注:(9)~(12)为方便,中仅进行输入操作,输出操作全部注释了
(9) Q F cin与scanf混用 运行错误
(10) NQ F cin与scanf混用 正常运行
(11) Q NF cin与scanf混用 正常运行
(12) NQ NF cin与scanf混用 正常运行
主要关注 (1) (2) (9)~(12) 是什么原因啊
scanf与cin两类最某种条件下不能一起用?
回复
共 9 条回复,欢迎继续交流。
正在加载回复...