鱼C论坛

 找回密码
 立即注册
查看: 947|回复: 6

[已解决]萌新求问:关于数据类型尺寸的问题 大佬有兴趣解答下好嘛谢谢

[复制链接]
发表于 2020-6-10 16:26:43 | 显示全部楼层 |阅读模式

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

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

x
看完小甲鱼的S1E6数据类型课程后做课后练习 最后一个动动手,需要声明4个变量 sum temp weight  i 我的方法是:

unsigned long long int sum;

unsigned long int temp;

unsigned long long int weight;

int i;

结果编译过不了,因为没有初始化sum变量, 我觉得是程序里没有给这个变量赋值,我也看不懂小甲鱼下面透出的程序,所以看了下答案.
小甲鱼的方案是:

unsigned long long int sum = 0;

unsigned long long int temp;

unsigned long long int weight;

int i;

for (i = 0; i < 64; i++);
        {
                temp = pow(2, i);
                sum = sum + temp;
        }

到这里我有了2个问题:
一. 为什么要给sum赋值0呢 (如果只是单纯的0我觉得都不需要这个变量)

二.我在调试时发现我使用 long int 会溢出 结果是0,我用sizeof指令查看发现 long int 和int 大小是一样的都是4,这又是为什么呢?

望大佬解答下 谢谢
最佳答案
2020-6-10 16:39:04
一、若sum不赋初值的话,在for循环内,sum=sum+temp,会报错,没有赋值就进行运算是不对的。初值为0,加多少就是多少,这才能进行求和运算啊。
二、int的宽度与系统和编译器有关。有的系统是4字节,与long int 一样;有的系统是2字节,与short int 一样。所以不确定的时候最好用long int 或short int ,因为它们的范围是固定的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-6-10 16:28:53 | 显示全部楼层
使用的平台是 vs2019 c
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-10 16:29:50 | 显示全部楼层
这个提问悬赏在哪里选? 我找了半天,也不能总白嫖大佬 哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-10 16:30:21 | 显示全部楼层
1,你用变量都不初始化的吗?直接拿个随机值加?
2,或许是编译器问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-10 16:37:44 | 显示全部楼层
大佬们好快..我看不懂小甲鱼下面的for程序什么意思,而且我也不太明白初始化变量是什么意思.容我百度下,无果再来问问大佬们 再次感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-10 16:39:04 | 显示全部楼层    本楼为最佳答案   
一、若sum不赋初值的话,在for循环内,sum=sum+temp,会报错,没有赋值就进行运算是不对的。初值为0,加多少就是多少,这才能进行求和运算啊。
二、int的宽度与系统和编译器有关。有的系统是4字节,与long int 一样;有的系统是2字节,与short int 一样。所以不确定的时候最好用long int 或short int ,因为它们的范围是固定的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-10 16:51:25 | 显示全部楼层
感谢大佬们解答 ,有种茅塞顿开的感觉 ,额我尝试理解下 :

一, for指令内是循环求和,类似子程序
二, 变量参与运算需要先赋值, 而赋值的过程称为初始化变量
三,尺寸长度与电脑和编译器有关,并不是固定的,只是大小顺序关系是一定的.

OKOK小本本记下来 过几天学到for指令肯定能理解的更透彻了 再次感谢大佬们 I love Fishc C!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 15:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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