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

Can't find my mistake! error: expected identifier before '(' token

本文关键字:错误 标识符 我的 找不到      更新时间:2023-10-16

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

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

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

if ((sal > 2246.75) && (sal < 2995.70)) {
  1. 您的if语句必须更正如下,这里您缺少 if 的 bracket()。

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

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

    printf("Salário Líquido: %f", sal * 0.775);

这两个错误在代码中多次出现。

发布的

代码实际上有两种主要问题。

printf("Salário líquido :  ",sal); 

缺少"sal"变量的格式说明符

它应该是:

printf("Salario liquido : %f", sal);

注意:每个 printf() 语句都有同样的问题

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

缺少外部括号

它应该是:

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

注意:为了清楚起见,我添加了一些水平间距

最后两个"if"语句也有同样的问题

建议在启用所有警告的情况下进行编译。

对于 gcc,至少使用 '-Wall -Wextra -pedantic'

main 总是返回一个 'int'

为避免返回代码为随机值,请始终以以下命令结束函数:

return(0);

我认为if(sal>2246.75)&&(sal<2995.70)应该是 if(sal>2246.75 && sal<2995.70) .