我正在嘗試制作一種演算法來計算員工重新調整的工資,但該演算法總是回傳零并且仍然收到一條錯誤訊息:
lucas@lucas-pc:~/VSCodeProjects/C$ cd "/home/lucas/VSCodeProjects/C/" && gcc logic.c -o logic && "/home/lucas/VSCodeProjects/C/"logic
logic.c: In function ‘main’:
logic.c:14:32: warning: format ‘%f’ expects argument of type ‘double’, but argument 2 has type ‘float *’ [-Wformat=]
14 | printf("Readjusted salary: %f", &readjustedSalary);
| ~^ ~~~~~~~~~~~~~~~~~
| | |
| | float *
| double
演算法:
#include <stdio.h>
int main() {
float salary, readjustedSalary;
printf("Enter your salary: ");
scanf("%f", &salary);
if(salary >= 5000){
readjustedSalary = salary (salary * 0.2);
} else {
readjustedSalary = salary (salary * 0.3);
}
printf("Readjusted salary: %f", &readjustedSalary);
return 0;
}
我做錯了什么?我從 C 開始...
- 我正在使用 vscode ..
uj5u.com熱心網友回復:
您的問題是您使用的是&in printf,當您使用時,&您的意思是變數的記憶體位置(匯總)。因此,要將值寫入變數(使用 scanf),您需要傳遞記憶體位置,但要列印它,不。
#include <stdio.h>
int main() {
float salary, readjustedSalary;
printf("Enter your salary: ");
scanf("%f", &salary);
if(salary >= 5000){
readjustedSalary = salary (salary * 0.2);
} else {
readjustedSalary = salary (salary * 0.3);
}
printf("Readjusted salary: %f", readjustedSalary);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/366234.html
標籤:C
上一篇:從函式中傳遞指標什么時候有效?
下一篇:我的乘法表有問題,
