1

我以前编译过其他程序,但由于某种原因,我不能再工作了。我有一个 mac 这是我的代码。它的目的是取三个数字并找到平均值。

#include <stdio.h>
int main(){
int first;
int second;
int third;
float average=0.0;
    printf ("This program will find the average of 3 numbers.\n");
    delay(1000);
    printf ("Type the first number.\n");
    scanf ("%d", &first);
    printf ("Type the second number.\n");
    scanf ("%d", &second);
    printf ("Type the third number.\n");
    scanf ("%d", &third);
    average = (first+second+third)/2.0;
    printf ("The average of %d, %d, and %d is %.3f\n", first, second, third, average);
return (0);
}

这些是我采取的步骤。我把average.c和average.h放在桌面上。我打开终端并输入

cd Desktop 
gcc /Users/reneelion/Desktop/average.c average

然后它说:

average: No such file or directory.

我是编码初学者,不知道该怎么做。

4

3 回答 3

9

我假设您希望输出文件是average?然后使用这个:

gcc average.c -o average
于 2013-07-22T16:27:46.010 回答
0

使用cd Desktopandgcc /Users/reneelion/Desktop/[filename]是多余的。

将目录更改为桌面后,您不再需要编写完整的文件路径。您可以将文件的路径写入当前目录和文件之间的关系。在你的情况下:

/Users/reneelion> //you begin (most likely) in your user directory
/Users/reneelion> cd Desktop //change directory to desktop
/Users/reneelion/Desktop> gcc average.c  //now you are in the desktop folder, 
                                        //no need to rewrite the full path 
                                       //to your file

使用GCC(GNU Compiler Collection)的语法如下:

gcc [options] [source files] [object files] [-o output file]

[Options]
您可以使用不同的选项来执行诸如隐藏错误消息和获取调试信息之类的操作。

[source files]
是您要编译的文件(或文件)。在你的情况下average.c

[object files]
目标文件包含低级指令,并在您编译代码时创建。通过将这些目标文件链接在一起来创建可执行文件。您可能会识别.o扩展名。
请参阅: C 中的目标文件是什么?

[-o output file]
-o 是 GCC 中的一个特殊选项,用于命名已编译文件的输出。在您的情况下,您似乎正在尝试命名您的 output average。如果您不使用此选项,您的程序仍将编译并可以使用默认的a.out可执行文件运行。

您键入的内容很可能会被解释为尝试将源文件“ average.c”与名为“ average”的目标文件结合起来。由于目前还没有文件对象或以其他方式称为“ average”,因此您的调用不起作用。

把它们放在一起:

cd Desktop  //change directory to desktop
gcc average.c -o average  //compile average.c into an executable called average.
./average  //run the executable 
于 2013-07-22T17:52:48.907 回答
0

编译器找不到你的文件。你需要做如下(根据你的环境)

cd  /Users/reneelion/Desktop/
gcc average.c 

这将提供一个可执行文件(如果没有错误),并且在运行时将提供所需的输出。

于 2013-07-22T16:39:49.240 回答