这是我的主要代码,我在询问之前确实搜索了相关的错误,但它似乎没有错...... IDE说错误在第11行。
#include<stdio.h>
int main()
{
float sal;
printf("Digite o salário bruto: ");
scanf("%f",&sal);
if(sal<=2246.75){
printf("Salário líquido : ",sal);
}
else{
if(sal>2246.75)&&(sal<2995.70){
printf("Salário Líquido: ",sal * 0.925);
}
else{
if(sal>2995.70)&&(sal<=3743.19){
printf("Salário Líquido: ",sal * 0.845);
}
else{
printf("Salário Líquido: ", sal * 0.775);
return 0;
}
}
}
}
答案 0 :(得分:5)
if(sal>2246.75)&&(sal<2995.70){
问题是整个条件必须放在一组括号内。
如果你想进一步包含子条件,那很好,但你也必须包围整个地段:
if ((sal > 2246.75) && (sal < 2995.70)) {
答案 1 :(得分:1)
您的foo|flo|flu|food|fish
声明必须更正如下,此处您缺少sh
的括号()。
fi
您必须正确指定if
的格式化程序,如下所示;在这里你缺少类型格式化程序。
if
这些错误在您的代码中有多次出现。
答案 2 :(得分:1)
发布的代码实际上存在两种主要问题。
printf("Salário líquido : ",sal);
缺少'sal'变量的格式说明符
它应该是:
printf("Salario liquido : %f", sal);
注意:每个printf()语句都有同样的问题
if(sal>2246.75)&&(sal<2995.70){
缺少外面的parens
它应该是:
if( (sal>2246.75) && (sal<2995.70) ) {
注意:为了清晰起见,我添加了一些水平间距
最后两个'if'语句有同样的问题
建议在启用所有警告的情况下进行编译。
对于gcc,至少要使用'-Wall -Wextra -pedantic'
main总是返回'int'
为避免返回代码为随机值,请始终使用以下函数结束函数:
return(0);
答案 3 :(得分:0)
我认为应该是if(sal>2246.75)&&(sal<2995.70)
if(sal>2246.75 && sal<2995.70)
。