| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 500 人关注过本帖
标题:求助 看看我错误出在那里!
只看楼主 加入收藏
jh8792123
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-7-16
收藏
 问题点数:0 回复次数:9 
求助 看看我错误出在那里!
#include<stdio.h>
void main()
{
int a,b;
a=1;
b=2;
p(&a,&b);
printf("%d,%d",a,b);
}

void p(int *i,int *m)
{
int t;
t=*i;
*i=*m;
*m=t;
}
我编译的时候说我 p(&a,&b);定义不明确!
2007-07-31 09:09
scy251147
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-7-31
收藏
得分:0 
有返回值的,就不能是空类型,你把函数申明前的void去掉就行了
2007-07-31 09:33
aoaoaoao
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2007-5-14
收藏
得分:0 

没有函数原型,编译器在编译到p(&a,&b);这一句的时候默认函数返回值是int型的
和 void类型不匹配
加上函数原型就行void p(int *i,int *m);

2007-07-31 10:49
jh8792123
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-7-16
收藏
得分:0 
还是不大明白 再那里加呢 再主函数上吗!!谢谢!!!

2007-07-31 11:24
jh8792123
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-7-16
收藏
得分:0 
我现在把程序改成这样还是有问题
#include<stdio.h>
void main()
{
int a,b,*i,*m;
a=1;
b=2;

p(&a,&b);
printf("%d,%d",a,b);
}

void p(int *i,int *m)
{
int t;
t=*i;
*i=*m;
*m=t;
}



cpp(8) : error C2065: 'p' : undeclared identifier
error C2373: 'p' : redefinition; different type modifiers


2007-07-31 11:37
xiaotnai
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-6-8
收藏
得分:0 
[CODE]#include<stdio.h>
void p(int *i,int *m)
{
int t;
t=*i;
*i=*m;
*m=t;
}
main()
{
int a,b;
a=1;
b=2;
p(&a,&b);
printf("%d,%d",a,b);
}[/CODE]

编译看看

2007-07-31 19:52
忘却拥有
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-7-31
收藏
得分:0 

如果定义函数是在你调用函数所在的主函数后面的话(如函数p定义在main这个主函数后),就需要在这个主函数中要对你调用的函数进行声明,即在main函数里的开头加上"void p(int *i,int *m);"就好。
或者直接把你对p函数的定义放到main函数的前面就行了。

2007-07-31 20:35
jh8792123
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-7-16
收藏
得分:0 

谢谢大家对我的帮助。我现在知道了!!

[此贴子已经被作者于2007-8-3 15:11:37编辑过]


2007-08-03 14:59
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:0 
最好函数都在main()前声明一下!!!

要练习算法就来http:///!!有挑战哦!!
2007-08-03 21:05
leeldy
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-8-2
收藏
得分:0 

#include<stdio.h>
void main()
{

void p(int *i,int *m)
int a,b;
a=1;
b=2;
p(&a,&b);
printf("%d,%d",a,b);
}

void p(int *i,int *m)
{
int t;
t=*i;
*i=*m;
*m=t;
}

你的自定义函数在main函数以后,需要在main函数中间声明才能使用~~~


↑↑↑↑↑↑↑↑如果我错了,请改正我的错误↑↑↑↑↑↑↑↑

2007-08-03 21:14
快速回复:求助 看看我错误出在那里!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022522 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved