私はbool変数で遊んでいました。私はブール値が真(0以外の他の任意の数)または偽(数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);
}
C標準では、初期化されていないオブジェクトの値は不定です。これは必ずしも未定義の動作につながるわけではありません。 –
たとえば、 'unsigned char x; printf( "%d%d"、x、x);は同じ番号を2回印刷する必要があります。動作がC標準に従って定義されていない場合、これは2つの異なる値を出力するか、クラッシュします。しかし、その動作は未定義ではありません。あたかも 'x'がある値を持っているかのように動作します。 –
@EricPostpischil参考になっていますか?私はそれが未定義で、C++標準と同じだと思った? –