其实如果写的是快读就没有以下问题了!!!!
bool类型的输入一般不用scanf(),和printf(),如果只是输入一个单个值可以,但是输入数组就不行
比如:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int Maxn=25;
bool a[10];
int main()
{
a[2]=1;
scanf("%d",&a[1]);
printf("%d %d",a[1],a[2]);
return 0;
}
如果是这样输入1,输出结果是1和0,我也不知道为什么,最好先定义一个变量,单个读入,再对bool型数组手动赋值
如:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int Maxn=25;
bool a[10];
int main()
{
a[3]=1;
for(int i=1,t;i<=2;i++)
{
scanf("%d",&t);
a[i]=t;
}
for(int i=1;i<=3;i++)
{
printf("%d ",a[i]);
}
return 0;
}
如此赋值,结果正确