Онлайн компилятор C

#include <stdio.h> int main() { int price, items, discount; float total_price, total, discount; scanf("%d%d%d", &price, &items, &discount); total_price=price*items; total=total_price/((100-discount)/100) printf("C=%.2f ",total); return 0; }
这段代码试图计算商品总价并应用折扣,但存在几个问题。

- 变量 `discount` 被声明了两次,一次是 `int` 类型,一次是 `float` 类型,这会导致编译错误。
- 计算折扣的表达式 `(100-discount)/100` 中,由于 `discount` 是整数,整数除法会得到整数结果(例如 `(100-20)/100` 得到 `0`),导致最终总价计算错误。
- 最后一行 `printf` 中多了一个空格,但这不是主要问题。

- 检查变量声明,确保每个变量只声明一次,并且类型正确。
- 思考整数除法与浮点数除法的区别,如何让除法结果保留小数部分。