bool01.c
来自「this is a gcc file, you can download it 」· C语言 代码 · 共 80 行
C
80 行
//980323 bkoz//test for bools with inclusive ors#include <assert.h>#include <limits.h>void bar ( bool x ) {};void bars ( short x ) {};/* 980326 bkoz this is not initialized and so can have indeterminate value. */#if 0int orb(){ bool y; bar ( y ); int blob = ( 27 | int (y) ); return blob; //expect 27 or 0}#endifint orbtrue(){ bool y = true; bar ( y ); int blob = ( 27 | int (y) ); return blob; //expect 27}int orbfalse(){ bool y = false; bar ( y ); int blob = ( 27 | int (y) ); return blob; //expect 27}int orbfalse2(){ bool y = 0; bar ( y ); int blob = ( 27 | int (y) ); return blob; //expect 27}int ors(){ short y = 1; bars ( y ); int blob = ( 27 | int (y) ); return blob; //expect 27}#if INT_MAX > 32767int orus(){ unsigned short y = 1; bars ( y ); int blob = ( 65539 | int (y) ); return blob; //expect 65539, will be 3 if done in us type}#endifint main() { int tmp;#if 0 tmp = orb(); assert (tmp == 27 || tmp == 0);#endif tmp = orbtrue(); assert (tmp ==27); tmp = orbfalse(); assert (tmp ==27); tmp = orbfalse2(); assert (tmp ==27); tmp = ors(); assert (tmp ==27);#if INT_MAX > 32767 tmp = orus(); assert (tmp == 65539);#endif return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?