1

今天早上在我的 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.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

免责声明:我仔细检查并三重检查了我的代码与其他计算机中的代码完全一致。

显然,这里的编译器有问题。谁能告诉我有什么问题?以及如何解决?

问候

4

1 回答 1

7

你的问题是:

for(i-0; i<SIZE; i++)
   ^^^^^

这使得 for 语句没有效果,因此printf下面的语句没有输出
如果你用严格的警告编译它,编译器会告诉你。

输出:

cc1:警告被视为错误
prog.c:在函数'main'中:
prog.c:15:错误:声明无效

一旦你修正了明显的错字,所有的编译器都会生成输出两次

于 2012-06-21T05:02:21.147 回答