我收到的错误是“在 float 之前需要标识符或‘(’。”任何帮助将不胜感激。我读过它可能与 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);
}
最佳答案
不能在同一个声明中声明不同类型的变量。改变
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; // or some other value if it makes sense
int fx = 0, fy = 0, fz = 0;
int sum = 0, prod = 0;
float fsum = 0.0, fprod = 0.0;
关于c - C 中的预期标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30877719/