c++ - 为什么我的语法正确时我的代码输出为 0

标签 c++ stdio nested-if

我认为问题在嵌套 if 之前开始,因为在代码末尾它应该输出 sales = price * sold 的结果,但它也输出 0

#include<stdio.h>
main() {
    int num, price, sold, sales;
    float compercent, commision;
    printf("Enter Unit Price: ");
    scanf("%d", &price);
    printf("Enter Quantity Sold: ");
    scanf("%d", &sold);
    sales = price * sold;

    if (sales >= 50000) {
        compercent = 0.1;
    }
    else if (sales >= 40000 && sales < 50000) {
        compercent = 0.08;
    }
    else if (sales >= 30000 && sales < 40000) {
        compercent = 0.06;
    }
    else if (sales >= 20000 && sales < 30000) {
        compercent = 0.04;
    }
    else if (sales >= 10000 && sales < 20000) {
        compercent = 0.02;
    }
    else if (sales >= 5000 && sales < 10000) {
        compercent = 0.01;
    }
    else if(sales<5000){
        compercent = 0;
    }
    commision = sales * compercent;
    printf("Sales: ");
    printf("sales = %f", &sales);
    printf("Commision: ");
    printf("%f", &commision);
}

最佳答案

当您使用 prinf 时,您不需要提供变量作为引用。该函数需要一个整数或 float ,而不是一个指针。

这应该可以解决:

printf("sales = %i\n", sales);
printf("Commision: ");
printf("%f", commision);

关于c++ - 为什么我的语法正确时我的代码输出为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58356616/

相关文章:

c++ - PPL 任务何时在 UI 线程上执行?

C:简单的 CSV 读取器/写入器 - 无限循环行为

c - 在C中将数字写到没有printf的文件中?

java - 在调试和运行期间由于某种原因跳过内部 if 语句

c++ - 将一个dll导入另一个dll C++

采用指针的 C++ 显式构造函数

c++ - 如何在 C++ 中使用 "%"运算符?

gcc - fatal error : _stdio. h:没有那个文件或目录

excel - 超出嵌套 IF 和公式的可接受范围不起作用

mysql - MYSQL中if else if嵌套的写法