如何退出在C语言中的Do While循环后在Do While循环中输入的值

问题描述 投票:1回答:2

我是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);
}
c for-loop do-while
2个回答
1
投票

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

如果将值分配给的对象在循环外部声明,则在循环外部访问该对象没有问题。

如果仅在循环内相反地声明该对象,则该对象在循环内仅具有生存期和作用域。

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


尝试过几次编码,但对我不起作用。

这不是它不打印预期输出的原因。在最后一次printf调用中,除了错误的格式说明符之外,还出现了错误:

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

代替

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

因为salary的类型为float

您可以看到here,您的代码在语法上没有错,因此您可以查看算法背后的逻辑。


0
投票

您想在这里做什么:

for (bonus = 10; bonus <= 15; ++bonus) {
   salary =hours * bonus;
  }

我是说您的奖金系统如何运作?你加薪水了吗?告诉我,以便我可以为您提供帮助

© www.soinside.com 2019 - 2024. All rights reserved.