Z_RO 发表于 2014-9-30 22:51:01

求助。。谢谢

--------------------Configuration: day one - Win32 Debug--------------------
Linking...
test.obj : error LNK2005: _main already defined in hello world.obj
Debug/day one.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
day one.exe - 2 error(s), 0 warning(s)
这是什么意思啊

bbddbb123 发表于 2014-9-30 22:55:03

第一个error是main主函数有两个触发的,第二个error是你是不是重定义了什么符号?

Z_RO 发表于 2014-9-30 22:58:12

bbddbb123 发表于 2014-9-30 22:55
第一个error是main主函数有两个触发的,第二个error是你是不是重定义了什么符号?

#include <stdio.h>
#include <math.h>

void main()
{
        double x, s;
       
        printf("input number:\n");
        scanf("%lf", &x);
        s = sin(x);
        printf("sin of %lf is %lf\n",x,s);
}
帮我看看有错吗    谢谢   我昨天写了那个hello world。c   今天在那个工程里建了个test。c

bbddbb123 发表于 2014-9-30 23:02:17

我知道了,你在一个工程里建立了2个main函数,这是不允许的,你需要重新建立一个工程。因为一个工程只允许一个main函数。至于程序,大体上没问题,不过我建议是这样的printf("sin of %d is %d\n",x,s); 我也很久没写过程序了,但是lf是长float型,不如用double好。

Z_RO 发表于 2014-9-30 23:04:02

bbddbb123 发表于 2014-9-30 22:55
第一个error是main主函数有两个触发的,第二个error是你是不是重定义了什么符号?

是一个工程只能写一个文件吗?

bbddbb123 发表于 2014-9-30 23:09:06

不是,一个工程可以定义很多的 .c .h之类的文件,但是无论有多少文件,在一个工程里面只允许有一个main函数,也叫做主函数,这个是整个工程的入口,也是程序的开始,所以只能有一个。如果有多个主函数,程序就不知道哪个是开始了

牡丹花下死做鬼 发表于 2014-9-30 23:15:05

看情况是你有两个main函数

Z_RO 发表于 2014-9-30 23:20:14

bbddbb123 发表于 2014-9-30 23:09
不是,一个工程可以定义很多的 .c .h之类的文件,但是无论有多少文件,在一个工程里面只允许有一个main函数 ...

懂了   谢谢

int max(int a,int b);
main()
{
        int x,y,z;
        int max(int a,int b);
        printf("input two numbers:\n");
        scanf("%d%d",&x,&y);
        z=max(x,y);
        printf("maxmum=%d",z);
}

int max(int a,int b)
{
        if(a>b)return a;else return b;
}

--------------------Configuration: aaa - Win32 Debug--------------------
Compiling...
aaa.c
d:\proj\aaa\aaa.c(6) : warning C4013: 'printf' undefined; assuming extern returning int
d:\proj\aaa\aaa.c(7) : warning C4013: 'scanf' undefined; assuming extern returning int

aaa.obj - 0 error(s), 2 warning(s)


这个 也报错了   我一样打的怎么错了呢

Z_RO 发表于 2014-9-30 23:31:53

牡丹花下死做鬼 发表于 2014-9-30 23:15
看情况是你有两个main函数

谢谢

Z_RO 发表于 2014-9-30 23:32:34

牡丹花下死做鬼 发表于 2014-9-30 23:15
看情况是你有两个main函数

int max(int a,int b);
main()
{
         int x,y,z;
         int max(int a,int b);
         printf("input two numbers:\n");
         scanf("%d%d",&x,&y);
         z=max(x,y);
         printf("maxmum=%d",z);
}

int max(int a,int b)
{
         if(a>b)return a;else return b;
}

--------------------Configuration: aaa - Win32 Debug--------------------
Compiling...
aaa.c
d:\proj\aaa\aaa.c(6) : warning C4013: 'printf' undefined; assuming extern returning int
d:\proj\aaa\aaa.c(7) : warning C4013: 'scanf' undefined; assuming extern returning int

aaa.obj - 0 error(s), 2 warning(s)


这个   怎么错了呢

牡丹花下死做鬼 发表于 2014-9-30 23:35:37

Z_RO 发表于 2014-9-30 23:32
int max(int a,int b);
main()
{


你没写
#include<stdio.h>??

Z_RO 发表于 2014-9-30 23:44:08

牡丹花下死做鬼 发表于 2014-9-30 23:35
你没写
#include??

哈 不太懂   我在往后看看吧   谢谢啦

大个的糖果 发表于 2014-11-1 05:29:53

页: [1]
查看完整版本: 求助。。谢谢