#include <stdio.h>
long double main ()
{
long double sal,tax;
printf ("Enter the salary");
scanf ("%ld",&sal);
if (sal>=1000000)
tax=sal*0.3;
else if (sal<1000000&&sal>=500000)
tax=sal*0.2;
else if (sal<500000&&sal>=200000)
tax=sal*0.1;
else
tax=0;
printf ("The tax is %ld",tax);
return 0;
}
该程序的预期输出是显示税,但每当程序执行时,它会将税的值作为任何工资值的0。我已经尝试将数据类型更改为int,void,long,double,float,long double,但仍然无法获得所需的输出。
答案 0 :(得分:2)
您的程序行为未定义:
"%Lf"
是long double
的正确格式说明符。
此外,main
的返回类型应为int
。其他任何东西都是实现定义。在您真正知道自己在做什么之前,请使用int
。