鱼C论坛

 找回密码
 立即注册
查看: 1639|回复: 4

请教一个问题

[复制链接]
发表于 2015-6-3 12:09:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
long int factoorial (long int );
long int square(long int );
void main ()
{
    long int a=2,b=3,sum;

        sum=factoorial(a) +factoorial(b);
        printf("%ld\n",sum);
}
long int factoorial (long int c1  )
{
long int c,d,e;
c=square(c1);
d=1;
for(e=c;e>0;e--)
{
     d=e*d;
}
return (d);
}
long int square(long int c2)
{
    long int f;
        f=c2*c2;
        return(f);

}


这是我根据小甲鱼的视频题目编写的一个程序,但是我在定义变量的时候不知道该定义成int,还是long int?我觉得在不溢出的情况下尽量定义短字节的,这样可以节省空间。那么问题来了:我怎么知道我的数据在运行中溢出了?比如上面程序是计算2平方的阶乘加上3平方的阶乘,我可能会在调试程序的时候换成别的数,比如100,200;那么这时候心里面没底了,不知道会不会在执行的过程中溢出?虽然我知道long int 最大-32768到32767,可是我这时候不知道当前运算的值大概在不在这个范围?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-6-3 12:15:41 | 显示全部楼层
这就根据经验来定的,没人可以准确的告诉你什么时候该用int和long,你只能自己评估下你需要的用到的类型。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-3 13:36:31 | 显示全部楼层
鱼c论坛就是给力,每次各种问题均能迅速获取答案,谢谢小甲鱼{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-3 19:44:12 | 显示全部楼层
醉拳八哥 发表于 2015-6-3 13:36
鱼c论坛就是给力,每次各种问题均能迅速获取答案,谢谢小甲鱼

予人玫瑰,手有余香。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-4 11:56:14 | 显示全部楼层
{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 01:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表