- 论坛徽章:
- 0
|
再来:
先这样批判谭
————谭浩强 ,《C程序设计》(第四版),清华大学出版社,2010年6月,p137
输入一个负数的话还会亲眼目睹程序崩溃的壮烈景观
pmerofc 发表于 2011-06-03 09:19
然后又写下这样的代码
http://blog.chinaunix.net/space. ... blog&id=2778903
如果输入一个大整数,运气好,乘法溢出,运气不好,栈空间耗尽,
于是你和老谭一样,将“亲眼目睹程序崩溃的壮烈景观”。
- #include <stdio.h>
- unsigned fac(unsigned);
- int main( void )
- {
- int n;
- //输入n
- printf("请输入一个正整数:");
- scanf("%d",&n);
- if ( n < 0 )
- printf("该数小于0,无法计算!\n"); //错误处理
- else
- printf("%d!=%u\n" , n , fac( (unsigned)n ) );//计算,
- return 0;
- }
- //fac():计算n!并返回
- unsigned fac(unsigned n)
- {
- if ( n == 0U )
- return 1U ;
- else
- return n * fac( n - 1U ) ;
- }
复制代码 |
|