1

我已经成功编译了我的代码,但它说:

注意:您也可以通过键入“run”和任何命令行参数来运行您的应用程序。
启动没有 args 的应用程序...
检查库...
正在复制文件...
正在处理文件...
正在编译...
无法压缩二进制文件!

应用程序退出。

我希望我的代码让用户输入三个数字,中间有空格,并让它们相乘,所以这是我的代码:

#include <stdio.h>
#include <stdlib.h>

int mult( int x, int y, int z) {
    return x * y * z;

int main()
    {
    int x;
    int y;
    int z;

    printf("Input two integers to be multiplied: ");
    scanf("%d", &x);
    scanf("%d", &y);
    scanf("%d", &z);
    printf("The product of the three numbers is %d\n", mult( x, y, z) );
    getchar();
}

int mult (int x, int y, int z)
{
return x * y * z;
    }
}        

我使用compilr.com作为我的开发平台。

4

3 回答 3

1

您的代码包含语法错误。mult定义了两次,大括号有问题。此外,如果您使用的是 C89,main则应该返回一个值。

于 2012-09-30T13:57:51.083 回答
0

事实上,您的代码根本不会链接. 您的第一个定义mult是最后缺少一个大括号。您的第二个(不必要的)定义似乎后面有一个额外的大括号。因此,似乎只有一个大的 mult 方法,根本没有 main,导致链接器错误。main(即使没有被大括号夹住)也不返回任何东西。

令人惊讶的是,Compilr 似乎没有返回任何与此相关的错误。(或者您不向我们展示)但是,由于链接失败,没有二进制文件。因此,当尝试压缩它们时,实际压缩失败并显示您看到的错误消息。

我会认真地建议您选择一个体面的编译器/IDE 来自己编译您的代码,然后再将其提交到其他任何地方。首先确保它确实可以在您的本地系统上运行。如果 compilr.com 没有返回任何实际的语法/编译器/链接器错误信息,那么它对您来说几乎没有用处。(请注意,我不熟悉该系统,因此它实际上可能会提供给您。如果是这样,请弄清楚它是如何工作的)。

于 2012-09-30T14:05:15.837 回答
0

除了您的代码有些奇怪而且可能是错误的之外,在我看来,您的错误表明存在链接器问题:http: //ideone.com/iBOtP

于 2012-09-30T15:20:50.937 回答