C语言 重定义错误

#include<stdio.h>intmain(void){doubleyy[]={13,10,5,8};inti=4;hehe(yy,i);return0;}void... #include<stdio.h>int main(void){ double yy[] = { 13, 10, 5, 8 }; int i = 4; hehe(yy, i); return 0;}void hehe(double *yy,int i){ int j; for (j = 0; j < i; j++){ printf("%f", yy[j]); }}

为什么?除了我定义int hehe(double *yy,int i)不会报错..double,float,void这些都会报错
展开
 我来答
印永修出碧
2019-03-11 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:25%
帮助的人:873万
展开全部
链接错误应该会提示重定义的符号名,你要查一下是哪个符号。可以肯定不是
SYSTEM_MODULE_INFORMATION
或者
PSYSTEM_MODULE_INFORMATION
重定义。应该是在EnumSymbols.h
里面定义了别的变量或者函数。类型重复定义不会在链接时候报错,只会在编译时报错。
yuantailing
推荐于2016-11-27 · TA获得超过2545个赞
知道小有建树答主
回答量:1167
采纳率:92%
帮助的人:663万
展开全部
在main的前面加上void hehe(double *yy, int i);
或者直接把整个函数挪到main前面去。

因为你如果不定义,那么编译器会自动补一个int hehe(double *yy, int i);这样的声明。你在下面定义的是void ...,不一样,就出问题了。
追问
。。。我试了一下的确是这样。。可是还是有问题。。我是编另一个程序的时候遇到这个问题。。然后化简后来试验下。。。原本的程序我是把main函数放最后的。。。

。。。算了。。我在看看。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式