关于关闭同步流后的scanf
  • 板块灌水区
  • 楼主hjsxhst2022
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/8/19 10:18
  • 上次更新2023/10/27 14:39:32
查看原帖
关于关闭同步流后的scanf
745903
hjsxhst2022楼主2022/8/19 10:18

关闭同步流后程序里的scanf我忘了改成cin,编译后竟然没有问题!但是scanf在前面关闭同步流之后再用就WA,所以关闭同步流之后再用scanf它是怎么存储数据的?源代码(WA):

#include<bits/stdc++.h>
using namespace std;
int main(){
    ios::sync_with_stdio(false);//这里关闭了同步流
    cin.tie(0);
    cout.tie(0);
    int n,c,z=0,sum=0;
    cin>>n>>c;
    int sz[n+1];
    for(int i=1;i<=n;i++){
        scanf("%d ",&sz[i]);//注意,这里是scanf
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            z=sz[j]-sz[i];
            if(z==c)
                sum++;
        }
    }
    cout<<sum;
    return 0;
}

AC:

#include<bits/stdc++.h>
using namespace std;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n,c,z=0,sum=0;
    cin>>n>>c;
    int sz[n+1];
    for(int i=1;i<=n;i++){
        cin>>sz[i];//scanf改cin
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            z=sz[j]-sz[i];
            if(z==c)
                sum++;
        }
    }
    cout<<sum;
    return 0;
}
2022/8/19 10:18
加载中...