关于C语言的问题,问题是很简单的问题,但我就是无所适从,解决不了,请你们给支个招。

来源:百度知道 编辑:UC知道 时间:2024/06/17 18:10:04
请看一下下面的代码:

# include <stdio.h>
main()
{float x,y;
x=111111.111;
y=222222.222;
printf("%f",x+y);
}

运行后,任务列表显示:
d:\c语言\123\567.cpp(4): warning C4305: “=” : 从“double”到“float”截断
d:\c语言\123\567.cpp(5): warning C4305: “=” : 从“double”到“float”截断
这是怎么回事?请帮忙解决一下。

还有就是,任务列表显示:
123 error LNK2005: _main 已经在 123.obj 中定义
123 error LNK2005: _main 已经在 123.obj 中定义
123 error LNK2005: _main 已经在 123.obj 中定义
123 error LNK2005: _main 已经在 123.obj 中定义
123 fatal error LNK1169: 找到一个或多个多重定义的符号
这都是怎么回事呢? 请帮忙解决一下,如果答案满意的话,去哦会追加分数的。
其实跟帖跟贴不重要,我只想知道我问的第二个问题的具体解决办法就好,第一个问题很简单我自己能解决。谢谢

还有就是,要怎样做才能把main函数注释掉呢?

/*
你的111111.111,22222.222超出浮点数的范围了,需要用双精度变量存储
*/
# include <stdio.h>
main()
{
double x,y;
x=111111.111;
y=222222.222;
printf("%lf",x+y);
}

第二问:
一个EXE只有一个main,你在123中已经有main了,这样VC在链接123.obj和567.obj的时候因为有两个main会产生冲突
错误原因:估计是你的工程建立的不对,但你没有给出工程建立的信息,无法判断

解决办法很简单,把123.cpp的main函数注释掉

一楼和二楼已经说的很清了。不必再跟贴了。

tianpplll - 见习魔法师 二级 说得很透彻了