首页 > 解决方案 > 如何在退出 C 中的 Do While 循环后使用在 Do While 循环中输入的值

问题描述

我是 C 编程的新手。我很想知道是否可以在 do while 循环中输入一个值并在循环外使用它。尝试对其进行编码几次,但它对我不起作用。如果有人可以在这件事上帮助我,将不胜感激。

#include <stdio.h>
int main() {
  float salary, hours, bonus;
  float rateperhour = 2.50;
  do {
    printf("Please enter hours worked: ");
    scanf("%f", &hours);
    salary = hours * rateperhour;
    if (salary > 500 && salary < 1000) {
      printf("Range: 5000-10000\n");
    } else {
      hours = 0;
    }
    printf("Salary: %.2f\n", salary);
  } while (hours > 0);
  for (bonus = 10; bonus <= 15; ++bonus) {
    salary = hours * bonus;
  }
  printf("Salary: %d", salary);
}

标签: cfor-loopdo-while

解决方案


“在C中退出循环后如何使用循环中输入的值?do whiledo while

如果赋值给的对象是在循环外声明的,那么在循环外访问该对象就没有问题。

如果对象仅在循环内相反声明,则它在循环内只有其生命周期和范围。

但这不是您的代码的问题。


尝试了几次编码,但它不适合我。

这不是它不打印预期输出的原因。printf除了上次调用错误的格式说明符之外:

printf("Salary: %d", salary);

代替

printf("Salary: %.0f", salary);

或者

printf("Salary: %d", (int) salary);

因为salary是类型float

正如您在此处看到的那样,您的代码在语法上没有任何问题,因此您可以查看算法背后的逻辑。


推荐阅读