C - 输出值无法正确计算

时间:2014-09-12 15:46:46

标签: c output

我刚刚开始学习如何编码,并决定尝试创建一个程序,根据询问的某些值来计算一个人燃烧的卡路里量。但是,每当我运行它而不是根据它们的值得到计算值时,我会继续得到值2686708.无论如何,我似乎无法使其工作。

//included libraries
  #include <stdio.h>
  #include <stdlib.h>
  #include <math.h>

//constants
#define WALKING_CAL 5
#define EXERCISING_CAL 10
#define EATING_CAL 40
#define DRINKING_CAL 20
#define CALORIES_PER_POUND 3500*/

//main function
int main() {

int current_weight, goal_weight;
int walking, exercise, drinking, eating;
int total_walking, total_exercising, total_eating, total_drinking;
int calories_burned, calories_gained;

printf("What is your current weight?\n");
scanf("%d", &current_weight);

printf("\nWhat is your goal weight?\n");
scanf("%d", &goal_weight);

total_walking = WALKING_CAL * walking;
total_exercising = EXERCISING_CAL * exercise;
total_eating = EATING_CAL * eating;
total_drinking = DRINKING_CAL * drinking;
calories_burned = (total_walking + total_exercising)- (total_eating + total_drinking);


if (goal_weight > current_weight){
    printf("\nHow many minutes do you walk per day?\n");
    scanf("%d", &walking);

    printf("\nHow many minutes do you exercise per day?\n");
    scanf("%d", &exercise);

    printf("\nHow many minutes do you drink per day?\n");
    scanf("%d", &drinking);

    printf("\nHow many minutes do you eat per day?\n");
    scanf("%d", &eating);


    printf("You gain %d calories per day.", &calories_burned);

  }
  return 0;
}

1 个答案:

答案 0 :(得分:4)

此:

printf("You gain %d calories per day.", &calories_burned);

打印变量的地址,而不是变量的值(作为int,这反过来是未定义的行为,但似乎至少没有为你爆炸)。

应该是:

printf("You gain %d calories per day.", calories_burned);

删除&