在C++语言中,short类型变量的最大值是32767,如果将一个大于32767的数存入一个short类型变量,那么,这个变量中实际保存的将是一个小于32767的值。
根据这个特性,用c++写一个程序,对于满足条件n!≤32767的一切n,计算并输出n!的值。
这个主要是数据溢出的问题,定义一个short类型的变量用来保存n!的值,如果这个变量的值小于0(即n!的值溢出了),则推出n!的计算
void print_val(short n, short number)
{
// ...
}
void compute(void)
{
short n = 1;
short num = 1;
for (; ;) {
num *= n;
if (num < 0)
break;
print_val(n, num);
n++;
}
}