c - 我的代码返回 0 而不是正确的数字

标签 c

这是说用户已经 0 秒大并且已经吃了 0 个奥利奥,尽管这些功能与其他有效的功能几乎相同。

我尝试根据评论更改它,但现在一切都返回为零。

这是一份基础 C 语言的家庭作业,我只是想以最简单的方式修复这段代码,提前谢谢您! :)

    #include <stdio.h>

int ComputeUserDays(int userAgeYears) {
   int userAgeDays;

   userAgeDays = userAgeYears * 365;
   userAgeDays = userAgeDays + (userAgeYears / 4);

   return userAgeDays;
   }
int ComputeUserMinutes(int userAgeDays) {
   int userAgeMinutes;

   userAgeMinutes = userAgeDays * 24 * 60;

   return userAgeMinutes;
   }
int ComputeUserSeconds(int userAgeMinutes) {
   int userAgeSeconds;

   userAgeSeconds = userAgeMinutes * 60;

   return userAgeSeconds;
   } 
int ComputeUserSneezes(int userAgeDays) {
   int userAgeSneezes;

   userAgeSneezes = userAgeDays * 4;

   return userAgeSneezes;
   } 
int ComputeUserCalories(int userAgeDays) {
   int userCalories;

   userCalories = userAgeDays * 2000;

   return userCalories;
   } 
int ComputeUserOreos(int userCalories) {
   int userOreos;

   userOreos = userCalories / 45;

   return userOreos;
   } 

int main(void) {
   int userAgeYears; 
   int userAgeDays = ComputeUserDays(userAgeYears);
   int userAgeMinutes = ComputeUserMinutes(userAgeDays);
   int userAgeSeconds = ComputeUserSeconds(userAgeMinutes);
   int userCalories = ComputeUserCalories(userAgeDays);
   int userSneezes =  ComputeUserSneezes(userAgeDays);
   int userOreos = ComputeUserOreos(userCalories);

   printf("Enter your age in years: ");

   scanf("%d", &userAgeYears);

   printf("You are %d days old.\n", userAgeDays );

   printf("You are %d minutes old.\n", userAgeMinutes );

   printf("You are %d seconds old.\n", userAgeSeconds );

   printf("You have sneezed %d times in your life.\n", userSneezes );

   printf("You have expended %d calories in your life.\n", userCalories );

   printf("You needed to eat %d Oreos to expend those calories.\n", userOreos );


   return 0;
}

最佳答案

您需要将逻辑更改为:

   int userAgeYears; 
   printf("Enter your age in years: ");
   scanf("%d", &userAgeYears);
   int userAgeDays = ComputeUserDays(userAgeYears);
   int userAgeMinutes = ComputeUserMinutes(userAgeDays);
   int userCalories = ComputeUserCalories(userAgeDays);


   printf("You are %d days old.\n", userAgeDays );

   printf("You are %d minutes old.\n",  userAgeMinutes );
   .
   .
   .

等等。

因为您没有刷新变量,所以您只是调用函数而不刷新它。

关于c - 我的代码返回 0 而不是正确的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54700521/

相关文章:

c++ - 将 grep 与 execl() 一起使用

c - 我错过了指针的要点吗?

c - 使用函数的 C 语言科学计算器

c - 我想在nginx模块开发中获取子请求的响应

c - 与 C 信号的简单同步

c - C 中数组的输出不会格式化?

C编程链表和删除

c - Lua 中是否有等效的 scanf 函数?

c - 如何限制fifo的用户数量?

c - "Too few arguments"错误试图运行我编译的程序