找不到我的错!错误:'('标记之前的预期标识符

时间:2015-06-13 22:49:46

标签: c++ c

这是我的主要代码,我在询问之前确实搜索了相关的错误,但它似乎没有错...... 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;
            }
        }
    }
}

4 个答案:

答案 0 :(得分:5)

if(sal>2246.75)&&(sal<2995.70){

问题是整个条件必须放在一组括号内。

如果你想进一步包含子条件,那很好,但你也必须包围整个地段:

if ((sal > 2246.75) && (sal < 2995.70)) {

答案 1 :(得分:1)

  1. 您的foo|flo|flu|food|fish声明必须更正如下,此处您缺少sh的括号()。

    fi

  2. 您必须正确指定if的格式化程序,如下所示;在这里你缺少类型格式化程序。

    if

  3. 这些错误在您的代码中有多次出现。

答案 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)