- 论坛徽章:
- 0
|
原帖由 tyc611 于 2008-11-23 17:10 发表 ![]()
swap的返回类型是void,表示它没有返回值
我把void换成 int类型如何?我就是想看看swap到底做了什么,但既然是viod,c=swap可能就不合法了吧。我明白了实参是值传递,它相当于一个拷贝,a,b中的值并没改变,但我知道形参x和y的值应该是交换了,我想看看他们的结果要怎么做呢?我意思是不用指针和引用(这样a,b完全交换了),我想做到a,b还是原顺序输出敲进去的值,但形参交换过了的值也输出来,程序怎么修改?比如这样
#include <stdio.h>
void swap(int x,int y);
int main()
{
int a,b,c;
printf("请输入两个数:\n");
scanf("%d,%d",&a,&b);
c=swap(a,b);
printf("%d,%d,%d",a,b,c);
return 0;
}
void swap(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
retuen(x);
retuen(y);
}
c=swap(a,b) //这句就不合法了,还怎么解决这个问题呢?
我想敲进2和3,程序输出是
2 3 //实参
3 2 //形参交换后
[ 本帖最后由 俯卧撑 于 2008-11-23 20:39 编辑 ] |
|