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 + -
显示快捷键?