|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
- }
复制代码
|
|