鱼C论坛

 找回密码
 立即注册
查看: 2313|回复: 12

求助。。谢谢

[复制链接]
发表于 2014-9-30 22:51:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
--------------------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)
这是什么意思啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-30 22:55:03 | 显示全部楼层
第一个error是main主函数有两个触发的,第二个error是你是不是重定义了什么符号?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-30 23:02:17 | 显示全部楼层
我知道了,你在一个工程里建立了2个main函数,这是不允许的,你需要重新建立一个工程。因为一个工程只允许一个main函数。至于程序,大体上没问题,不过我建议是这样的printf("sin of %d is %d\n",x,s); 我也很久没写过程序了,但是lf是长float型,不如用double好。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-30 23:04:02 | 显示全部楼层
bbddbb123 发表于 2014-9-30 22:55
第一个error是main主函数有两个触发的,第二个error是你是不是重定义了什么符号?

是一个工程只能写一个文件吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-30 23:09:06 | 显示全部楼层
不是,一个工程可以定义很多的 .c .h之类的文件,但是无论有多少文件,在一个工程里面只允许有一个main函数,也叫做主函数,这个是整个工程的入口,也是程序的开始,所以只能有一个。如果有多个主函数,程序就不知道哪个是开始了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-30 23:15:05 | 显示全部楼层
看情况是你有两个main函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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)


这个 也报错了   我一样打的  怎么错了呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-30 23:31:53 | 显示全部楼层
牡丹花下死做鬼 发表于 2014-9-30 23:15
看情况是你有两个main函数

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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)


这个   怎么错了呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-30 23:35:37 | 显示全部楼层
Z_RO 发表于 2014-9-30 23:32
int max(int a,int b);
main()
{

你没写
#include<stdio.h>??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-30 23:44:08 | 显示全部楼层

哈 不太懂   我在往后看看吧   谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2014-11-1 05:29:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 06:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表