鱼C论坛

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

求助

[复制链接]
发表于 2022-11-23 01:31:07 | 显示全部楼层 |阅读模式

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

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

x
#include <stdio.h>
#include <math.h>

int main()
{
        unsigned long long sum = 0;
        unsigned long long temp;
        unsigned long long weight;
        int i;

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

        weight = sum / 25000;

        printf("舍罕王应该给予达依尔%llu粒麦子!\n", sum);
        printf("如果每25000粒麦子为1kg,那么应该给%llu公斤麦子!\n", weight);

        return 0;
}


为什么这里只有sum 被赋值了 而temp与weight可以不被赋值,为什么不给sum赋值结果会不正确?  谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-23 06:06:29 From FishC Mobile | 显示全部楼层
sum充当累加器的功能,它初始值如果不是0
你猜结果能否正确
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-23 10:45:51 | 显示全部楼层
本帖最后由 jhq999 于 2022-11-23 10:47 编辑

说明白点,一个是白手起家,一个是富二代,如果手里有个小目标,白手起家是他自己赚的,富二代这个小目标里有多少是他继承的,不知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-24 11:07:50 | 显示全部楼层
        unsigned long long sum = 0;
        unsigned long long temp;
        unsigned long long weight;

sum 先使用 后赋值,不提前确定初始值会出问题
temp weight 都是运行中先被赋值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-24 15:32:05 | 显示全部楼层
#include <stdio.h>
#include <math.h>
/**
 * @brief 
 * sum累加需要sum初值,weight也需要sum初值,所以给sum赋初值,
 * 当然你给temp和weight赋值也不会改变结果
 * @return 
 */
int main()
{
        unsigned long long sum=0;
        unsigned long long temp;
        unsigned long long weight;
        int i;
        
        for (i=0; i < 64; i++)
        {
                temp = pow(2, i);//temp调用系统函数赋值
                sum = sum + temp;//sum+=temp需要sum的值
        }
        
        weight = sum / 25000;//给weight赋值也需要temp
        
        printf("舍罕王应该给予达依尔%llu粒麦子!\n", sum);
        printf("如果每25000粒麦子为1kg,那么应该给%llu公斤麦子!\n", weight);
        
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 11:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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