C

时间:2015-06-16 20:38:17

标签: c declaration

我得到的错误是"预期的标识符或'('浮动之前。"任何帮助都将受到赞赏。我已经读过它可能有在fprod之后用半冒号做什么?我尝试添加括号,如(float)fsum和(float)fprod,以及删除带有和没有括号的半结肠。

int main (void)

{

int x, y, z, fx, fy, fz, sum, prod, float fsum, float fprod;
                                   //The error occurs on line 9. The above is line 9
    printf("\n Enter the first integer number: ");
    scanf("%d", &x);
            if( x<=0){
            printf("\n Invalid entry. Entry must be greater than 0.");
            scanf("%d",&x);
    }

    printf("\n Enter the second integer number: ");
    scanf("%d", &y);
            if( y<=0){
            printf("\n Invalid entry. Entry must be greater than 0.");
            scanf("%d",&y);
    }

1 个答案:

答案 0 :(得分:4)

您不能在同一声明中声明不同类型的变量。更改 int x,y,z,fx,fy,fz,sum,prod,float fsum,float fprod; 至 int x,y,z,fx,fy,fz,sum,prod; float fsum,fprod; 正如一些评论指出的那样,将所有变量分组为单个声明是不好的做法。最好根据功能或地点将它们拆分。这实际上取决于您的程序,但您可以这样做: int x,y,z; int fx,fy,fz; int sum,prod; float fsum,fprod; 此外,最好将变量初始化为一些合理的值,因为它们将包含随机未定义的值,如果您尝试使用它们而未成功设置它们,则最终可能很难找到错误。所以: int x = 0,y = 0,z = 0; //如果有意义,还是其他一些值 int fx = 0,fy = 0,fz = 0; int sum = 0,prod = 0; float fsum = 0.0,fprod = 0.0;