这是我程序的最重要部分
我的代码在我的Dev-C++
编译器上完美运行,但是当我在ge edit
上运行相同的代码时,它显示了三个错误
1.unused variable d
double d =round(j);
^
2. unused variable d
double d =round(j);
^
3.unused variable i
float i= (float) round(j);
^
相同的代码如何在一个编译器中工作但在其他编译器中不起作用?
#include <stdio.h>
#include <math.h>
double round(double d);
int main() {
float j;
int c = 0;
printf("how much change is owed? \n");
scanf("%f", &j);
double d = round(j);
float i = (float)round(j);
while (i < 0) {
printf("amount of money \n");
scanf("%f", &j);
double d = round(j);
float i = (float)round(j);
}
// more code ...
return 0;
}
答案 0 :(得分:0)
不使用这三个变量double d,double d和float i。它们只是定义的,完全不清楚为什么定义它们
double d =round(j); // <== ???
float i= (float) round(j);
while(i<0)
{ printf("amount of money \n");
scanf("%f",&j);
double d =round(j); // <== ???
float i= (float) round(j); // <== ???
}
因此错误消息足够清晰。他们是自我解释的。
我认为在最后一个标记语句中你的意思是(在循环内)
i= (float) round(j);
答案 1 :(得分:0)
肯定。
EG。一些代码是特定于Windows的,其他代码是特定于Linux的(例如处理文件)。因此代码将在Windows编译器而不是Linux编译器上编译。
甚至还有不同版本的C(查找gnu90与c99与c11相比),因为规格随着时间的推移而发生了变化。
你的错误&#34;但是是一个编译器警告您没有使用您指定的3个变量。 这是典型的错误,所以你应该仔细检查。
它是完全有效的C并且仍然应该编译。