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

#include <stdio.h> int main() { int cost,num,p; float C; scanf("%d%d%d",&cost&num&p); C=num*(cost*(float(100-p)/100)); printf("C=%.2f",C); return 0; }
这段代码试图计算某种折扣后的总价,但存在语法错误和逻辑问题。

- 第5行的 `scanf` 中,变量之间应该用逗号分隔,而不是 `&` 符号。`&` 是取地址运算符,但每个变量前都需要单独使用,并且变量之间用逗号。
- 第6行的计算中,`float(100-p)` 这种写法在C语言中不正确。应该使用 `(float)(100-p)` 或者将其中一个操作数转为浮点数,否则整数除法会导致结果错误。