C语言网

 找回密码
 加入社区!

QQ登录

只需一步,快速开始

楼主: shiqizhoufan

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

Rank: 4

主题
7
帖子
116
C币
244 枚
在线时间
101 小时
发表于 2010-4-24 16:39:13 |显示全部楼层
这里本来就是指针了,有地址了!所以可以不要!要不要return语句要根据不同情况来决定!你们可以以后慢慢体会!

Rank: 1

主题
0
帖子
4
C币
4 枚
在线时间
0 小时
发表于 2010-4-25 01:53:19 |显示全部楼层
这个问题要用指针解决,如果不用指针的话,可在函数里输出,这样就能把两个值互换了。
#include <stdio.h>
void swap(int x,int y);
void main()
{
int a,b;
printf("input a,b: \n");
scanf("%d%d",&a,&b);
swap(a,b);

}
void swap(int x,int y)
{
int t,m,n;
m=x;n=y;
t=m;
m=n;
n=t;
  printf("a=%d b=%d",m,n);
}

Rank: 1

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

}

Rank: 1

主题
0
帖子
8
C币
8 枚
在线时间
0 小时
发表于 2010-6-10 17:01:32 |显示全部楼层
void swap(int *x,int *y)   //void就行了,因为你用了指针了
{
       int t;
       t=*x;
      *x=*y;
      *y=t;
}

Rank: 1

主题
0
帖子
3
C币
3 枚
在线时间
0 小时
发表于 2010-8-16 15:46:20 |显示全部楼层
本帖最后由 dx5204 于 2010-8-16 15:52 编辑

1# shiqizhoufan

#include<stdio.h>
void swap(int*,int*);
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);
return 0;
}
static void swap(int* x,int* y)
{
int t;
t=*x;
*x=*y;
*y=t;

}这样也可以~~

Rank: 1

主题
0
帖子
11
C币
13 枚
在线时间
1 小时
发表于 2010-9-5 16:39:30 |显示全部楼层
看不懂  我也菜鸟

Rank: 6Rank: 6

主题
68
帖子
348
C币
578 枚
在线时间
57 小时
发表于 2010-9-5 17:37:05 |显示全部楼层
我认为 改成
void  swap(int *x,int *y)
{
       int  temp;
       temp=*x;  
       *x=*y;
       *y=temp;
}

这样较好,就可以解释为什么不用返回值的问题了
您需要登录后才可以回帖 登录 | 加入社区!

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

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

©2009-2011 cyuyan.com.cn

回顶部