请教关于c语言第六课的一个问题
#include <stdio.h>#include <math.h>
int main()
{
unsigned long long sum ;//本来在这里赋初值
unsigned long long temp;
unsigned long long weight;
sum = 0; //但现在在这里赋初值,为什么会错误
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);
getchar();
return 0;
}
以上程序在“unsigned long long sum”定义变量的同时赋初值即“unsigned long long sum=0”,并且去掉sum=0那一行就成功执行。但如果像上面那样编译就报错,这是为什么呢,我用的是studio 2010,难道是编译器问题吗 sum没声明类型吧 网瘾少年出门了 发表于 2021-5-8 18:45
sum没声明类型吧
声明啦,unsigned long long sum不是声明吗 我复制了你的代码但是没有报错,如果你用的是gcc的话是不是没在编译的时候加-lm 没有看到是vs2010,你可以看下这个对你有没有帮助http://blog.sina.com.cn/s/blog_d796a5b70102vd7q.html 我猜你用的是 vc6 ?
王逗比666 发表于 2021-5-8 19:16
没有看到是vs2010,你可以看下这个对你有没有帮助http://blog.sina.com.cn/s/blog_d796a5b70102vd7q.html
看了,也强制转换了,但有出现新的问题,估计是编译器问题,我还一个试试 人造人 发表于 2021-5-8 19:51
我猜你用的是 vc6 ?
是vs2010,有关系吗 pregnant 发表于 2021-5-8 20:02
是vs2010,有关系吗
截图看看 人造人 发表于 2021-5-8 20:05
截图看看
虽然它说是类型错误,可能丢失数据,但就算强制转换,它又会说"i"未定义,总之就是各种错误。但只要把sum=0;那一行删去就编译成功了 pregnant 发表于 2021-5-8 20:27
虽然它说是类型错误,可能丢失数据,但就算强制转换,它又会说"i"未定义,总之就是各种错误。但只要把sum ...
不是这个,错误信息在上面,把完整的输出复制一下,贴上来
人造人 发表于 2021-5-8 20:32
不是这个,错误信息在上面,把完整的输出复制一下,贴上来
这个吗 pregnant 发表于 2021-5-8 20:37
这个吗
对,是这个
把35行和36行调换一下位置看看
#include <stdio.h>
#include <math.h>
int main()
{
unsigned long long sum ;//本来在这里赋初值
unsigned long long temp;
unsigned long long weight;
int i;
sum = 0; //但现在在这里赋初值,为什么会错误
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);
getchar();
return 0;
}
人造人 发表于 2021-5-8 20:43
对,是这个
把35行和36行调换一下位置看看
竟然神奇的编译成功了,请问是为什么 人造人 发表于 2021-5-8 20:43
对,是这个
把35行和36行调换一下位置看看
难道声明还要放在一起? 好神奇的错误
我用Dvc++没错误
编译器的锅吧 害羞的新手 发表于 2021-5-8 20:58
好神奇的错误
我用Dvc++没错误
编译器的锅吧
我也不想用这个的,学校考试要用 pregnant 发表于 2021-5-8 20:50
难道声明还要放在一起?
你的编译器太老了,定义变量必须放在函数的开头
pregnant 发表于 2021-5-8 20:50
难道声明还要放在一起?
对于你目前的这个编译器来说却是这样的,而且要放在函数的最前面
人造人 发表于 2021-5-8 21:01
你的编译器太老了,定义变量必须放在函数的开头
明白,非常感谢
页:
[1]