时间限制: 1000 ms 内存限制: 65536 KB
提交数: 70492 通过数: 60899
【题目描述】
将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?
【输入】
一个整型范围内的整数,即初始时整型变量的值。
【输出】
一个整数,经过上述过程后得到的结果。
【输入样例】
3
【输出样例】
1
主要考查bool类型和int类型,以及它们之间的转换。
关于C语言的布尔类型,可以参考文章:
1018:其他数据类型存储空间大小
bool类型只有两个值:
一个是true(关键字),true的值为1
一个是false(关键字),false的值为0
而int类型的取值范围比bool类型的大,那么它们之间转换后的结果是什么?
C++规定,非零值转换为bool类型后,结果为true,即为1;零值转换为bool类型后,结果为false,即为0。
例如,-123、23等非零值数字转换为bool类型后,结果为1。
在输出bool类型值时,不会输出true或false,只会输出1或0。
可以使用强制类型转换,也可以使用赋值的方式,不过题目中也说了只需赋值即可,因为bool类型是一种特殊的整型。
声明一个bool类型变量和一个int类型变量。
输入一个整数给int类型变量。
把int类型变量赋给bool类型变量。
把bool类型变量赋给int类型变量。
输出int类型变量。
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
bool b = n;
n = b;
cout << n;
return 0;
}