马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#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,难道是编译器问题吗
对,是这个
把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;
}
|