两个基础问题 编译和布尔
#include <iostream>
using namespace std;
int main()
{
int a=5,b=8;
int c=7,d=8;
cout<<boolalpha<<a==c<<b==d<<endl;
system"(pause");
return 0;
}
编译不过去,是仿造cout << boolalpha << ( str1==str2 ) << endl;//如果str1==str2,则输出true,不等输出false.
char a=true; cout结果是0,(char a=true 结果是空。)
将布尔赋给其它的如int,float等都是1,为什么独它为0,编译能通过。
没发现教程提到是否该将布尔型赋给字符变量。
[解决办法]
拆开呢?
cout<<boolalpha<<(a==c)<<endl;
cout<<boolalpha<<(b==d)<<endl;
[解决办法]
int main()
{
int a=5,b=8;
int c=7,d=8;
cout<<boolalpha<< (a==c) << (b==d) <<endl;
system("pause");
return 0;
}
[解决办法]
你那是什么编译器?应该是编译器的问题,我这VS2008的编译器赋给char也是1
[解决办法]
将 布尔赋值给 CHAR 是未定义行为 不同编译器不一样的
[解决办法]