关于#c语言#的问题:用循环语录编写关于2的0次方加到2的63次方的值

用循环语录编写关于2的0次方加到2的63次方的值,哪个地方有错误吗?结果不对

img

2的63次方太大了,用int型不够,改为unsigned long long型
另外你的代码还有个问题,题目要求2的0次方到63次方的和,你少算了一次。
j默认为1,可以表示2的0次方,因此for循环中,j*=2要放在sum+=j之前,这样第一次循环sum增加的数才是2的1次方

#include <stdio.h>
int main(){
    unsigned long long sum=0,j=1;
    for(int i=1;i<=63;i++)
    {
        j*=2;
        sum += j;
    }
    printf("%llu",sum);
    system("pause");
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632