// test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
bool t_return_false()
{
return false;
}
int t_omit_road()
{
if (t_return_false())
{
return true;
}
// 遗漏的分支:编译器不报错,只给出告警!
// 以bool形式返回,值为false;以int形式返回,值为0
}
int _tmain(int argc, _TCHAR* argv[])
{
//测试没有返回值的代码分支的返回值
printf ("t_omit_road :%d\n", t_omit_road());
printf ("\n");
//测试int型转换到bool型的截断
printf ("true_to_int :%d\n", true);
printf ("false_to_int :%d\n", false);
printf ("\n");
printf ("return 0 :%d\n", bool(0));
printf ("return 1 :%d\n", bool(1));
printf ("return 2 :%d\n", bool(2));
printf ("return 3 :%d\n", bool(3));
printf ("return -1 :%d\n", bool(-1));
getchar();
return 0;
}
执行结果:
t_omit_road :0
true_to_int :1
false_to_int :0
return 0 :0
return 1 :1
return 2 :1
return 3 :1
return -1 :1