今天早上在我的CS实验室中,我正在编译并执行一些C代码。代码如下:
#include <stdio.h>
#define SIZE 3
int main()
{
float x[SIZE];
float *fp;
int i;
for(i=0; i<SIZE; i++)
//{
x[i] = 0.5*(float)i;
//}
for(i-0; i<SIZE; i++)
//{
printf(" %d %f \n", i, x[i]);
//}
fp=x;
for(i=0; i<SIZE; i++)
//{
printf(" %d %f \n", i, *(fp+i));
//}
}
这是我在Ubuntu终端中用来编译的命令:
gcc -o program program.c
这是我用来执行的命令
./程序
这是我遇到的结果:
0 0.50000
1 1.50000
2 2.50000
这是我期望在同一实验室的其他计算机上找到的结果。
0 0.50000
1 1.50000
2 2.50000
0 0.50000
1 1.50000
2 2.50000
免责声明:我仔细检查并三次检查我的代码与其他计算机中的代码完全无关。
显然,这里的编译器有问题。任何人都可以告诉我这是什么问题?以及如何解决它?
此致
答案 0 :(得分:7)
你的问题是:
for(i-0; i<SIZE; i++)
^^^^^
这使得for语句无效,因此后面的printf
没有输出
如果您 compile it with strict warnings ,编译器应该告诉您。
输出
cc1:警告被视为错误
prog.c:在函数'main'中:
prog.c:15:error:语句无效
一旦你解决了明显的拼写错误,所有 compilers will generate the output twice 。