我正在玩bool变量。我知道boolean用于表示true(除了0之外的任何其他数字)或false(数字0)。我意识到变量会创建随机整数。我想知道是否可以使用布尔变量生成随机数?有人可以详细说明关键字boolean引起的这种行为吗?
我的代码如下:
#include<stdio.h>
#include<stdbool.h>
int main()
{
bool a,b,c,d,e,f,g,h,i,j,k;
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n",c);
printf("%d\n",d);
printf("%d\n",e);
printf("%d\n",f);
printf("%d\n",g);
printf("%d\n",h);
printf("%d\n",i);
printf("%d\n",j);
printf("%d\n",k);
}
答案 0 :(得分:4)
这不是bool特有的行为。这是因为您使用的是uninitialized variable。这不仅不随意,而且不安全。这是undefined behaviour,你应该不惜一切代价避免它。
答案 1 :(得分:0)
布尔值不是随机定义的。这些变量将false
作为默认值。在编译器中。默认值是一致的,而不是随机的0或1。