#include <stdio.h>
#include <stdbool.h>
int main()
{
bool a[5]={0,1,0,0,0};
a[1]=3;
printf("\n bool is %d",a[1]);
printf("\n sizeof bool is %d and size of a is %d",sizeof(bool),sizeof(a));
bool b[10];
printf("\n bool is %d",b[1]);
}
Run Code Online (Sandbox Code Playgroud)
这个程序的输出是
bool is 1
sizeof bool is 1 and size of a is 5
bool is 4
Run Code Online (Sandbox Code Playgroud)
题 :
1> bool存储1位然后为什么sizeof(bool)是1字节?
2>如果bool有1个字节,那么当我指定[1] = 3那么为什么它打印1?
3>如果bool只考虑1&o值存储那么为什么b [1]打印值3?
Luc*_*ore 14
1> Bool商店不是1位.没有什么是1位.一切至少是1个字节.sizeof(bool)是特定于平台的.只sizeof(char)保证是1.
2>它隐式转换int为bool:(bool)3 == 1
3>数组b未初始化,它可以有任何值.你只是访问一些内存.
| 归档时间: |
|
| 查看次数: |
1250 次 |
| 最近记录: |