C语言网

 找回密码
 加入社区!

QQ登录

只需一步,快速开始

查看: 736|回复: 16

哪位高手能说一下我为什么不能调用这个函数?本人初学者 [复制链接]

Rank: 1

主题
0
帖子
6
C币
7 枚
在线时间
2 小时
发表于 2010-4-23 21:01:36 |显示全部楼层
#include <stdio.h>
int swap(x,y);
main()
{
int a,b;
printf("input a,b: \n");
scanf("%d%d",&a,&b);
swap(a,b);
printf("a=%d b=%d",a,b);
}
swap(x,y)
{
int t;
t=x;
x=y;
y=t;
  return (x,y);
}

Rank: 4

主题
7
帖子
116
C币
244 枚
在线时间
101 小时
发表于 2010-4-23 23:55:02 |显示全部楼层
本帖最后由 klttl 于 2010-4-24 16:40 编辑

#include <stdio.h>
int swap(x,y);改为swap(&a,&b);
main()
{
int a,b;
printf("input a,b: \n");
scanf("%d%d",&a,&b);
swap(a,b);//同上
printf("a=%d b=%d",a,b);
}
swap(int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
  return (x,y);
}
这里本来就是指针了,有地址了!所以可以不要!要不要return语句要根据不同情况来决定!你们可以以后慢慢体会!
你可以看有关指针的章节!你就会明白了!书上一般会有解释

Rank: 1

主题
0
帖子
6
C币
7 枚
在线时间
2 小时
发表于 2010-4-24 10:28:55 |显示全部楼层
谢谢  不过我们现在还没学指针, 在学选择结构程序设计。

Rank: 1

主题
0
帖子
6
C币
7 枚
在线时间
2 小时
发表于 2010-4-24 10:33:57 |显示全部楼层
3# shiqizhoufan
我怎么 运行不了这个程序  ,可以说下吗 本人菜鸟

Rank: 4

主题
7
帖子
116
C币
244 枚
在线时间
101 小时
发表于 2010-4-24 10:51:36 |显示全部楼层
本帖最后由 klttl 于 2010-4-24 11:01 编辑

#include <stdio.h>
int main(void)
{
int a,b;
printf("input a,b: \n");
scanf("%d%d",&a,&b);
swap(&a,&b);
printf("a=%d b=%d",a,b);
}
int swap(int *x,int *y)
{
int  t;
t=*x;
*x=*y;
*y=t;
  
}
就可以了!

Rank: 4

主题
7
帖子
116
C币
244 枚
在线时间
101 小时
发表于 2010-4-24 10:54:54 |显示全部楼层
本帖最后由 klttl 于 2010-4-24 11:10 编辑

int swap(int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
  
}
就可以了!这是程序其中最为主要的部分!

Rank: 1

主题
0
帖子
7
C币
8 枚
在线时间
2 小时
发表于 2010-4-24 12:34:31 |显示全部楼层
不是要return吗?而且不是在C语言中是单向传递吗??

Rank: 1

主题
0
帖子
6
C币
7 枚
在线时间
2 小时
发表于 2010-4-24 14:54:45 |显示全部楼层
没返回值怎么 调用函数啊

Rank: 1

主题
0
帖子
6
C币
7 枚
在线时间
2 小时
发表于 2010-4-24 14:56:28 |显示全部楼层
谢谢 你忘了 写 return 了

Rank: 1

主题
0
帖子
6
C币
7 枚
在线时间
2 小时
发表于 2010-4-24 14:59:45 |显示全部楼层
不知道在这里为什么 形参能把值传给实参?不是只能是实参传递给形参吗
您需要登录后才可以回帖 登录 | 加入社区!

C语言 ( 粤ICP备11042647号-2 )

GMT+8, 2012-2-7 22:44

©2009-2011 cyuyan.com.cn

回顶部