我是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中退出
do while
循环后如何使用在do while
循环中输入的值?”
如果将值分配给的对象在循环外部声明,则在循环外部访问该对象没有问题。
如果仅在循环内相反地声明该对象,则该对象在循环内仅具有生存期和作用域。
但是那不是您的代码的问题。
“ 尝试过几次编码,但对我不起作用。”
这不是它不打印预期输出的原因。在最后一次printf
调用中,除了错误的格式说明符之外,还出现了错误:
printf("Salary: %d", salary);
代替
printf("Salary: %.0f", salary);
因为salary
的类型为float
,
您可以看到here,您的代码在语法上没有错,因此您可以查看算法背后的逻辑。
您想在这里做什么:
for (bonus = 10; bonus <= 15; ++bonus) {
salary =hours * bonus;
}
我是说您的奖金系统如何运作?你加薪水了吗?告诉我,以便我可以为您提供帮助