布尔变量可以用来生成随机数吗?

时间:2017-11-16 02:06:50

标签: c

我正在玩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);
 }

2 个答案:

答案 0 :(得分:4)

这不是bool特有的行为。这是因为您使用的是uninitialized variable。这不仅不随意,而且不安全。这是undefined behaviour,你应该不惜一切代价避免它。

答案 1 :(得分:0)

布尔值不是随机定义的。这些变量将false作为默认值。在编译器中。默认值是一致的,而不是随机的0或1。