#include void fun(int a,int b) {int t; t=a;a=b;b=t; } main()
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/21 19:10:19
#include void fun(int a,int b) {int t; t=a;a=b;b=t; } main() {int c[6]={1,2,3,4,5,6},i;
for(i=0;i
for(i=0;i
还是1 2 3 4 5 6啊传值调用,传递后的变量在栈上面已经是新的变量了,交换不影响原来的值
再问: 若是想要值交换又该如何编程
再答: void fun (int *a, int *b){int t=*a; *a=*b;*b=t;} ... fun(&c[i], & c[i+1]) 这样得到的是2 1 4 3 6 5
再问: 是说传递给形参的量其实是实参在栈上的副本吗?用指针即能交换,也就是说即使是对副本指针操作也能操作到其实际指的量。。。。说的可能复杂了点,因为一直搞不明白,请见谅
再答: 是说传递给形参的量其实是实参在栈上的副本吗?是的 从地址的角度看就简单多了,为什么传值调用不可以?传值调用将值传递给栈上面另外地址空间的变量了 为什么传递指针可以?虽然指针也是在栈上面,但是这个栈空间里面实际存放的是要修改变量的地址,按图索骥的话通过地址就可以修改原先变量的值了
再问: 若是想要值交换又该如何编程
再答: void fun (int *a, int *b){int t=*a; *a=*b;*b=t;} ... fun(&c[i], & c[i+1]) 这样得到的是2 1 4 3 6 5
再问: 是说传递给形参的量其实是实参在栈上的副本吗?用指针即能交换,也就是说即使是对副本指针操作也能操作到其实际指的量。。。。说的可能复杂了点,因为一直搞不明白,请见谅
再答: 是说传递给形参的量其实是实参在栈上的副本吗?是的 从地址的角度看就简单多了,为什么传值调用不可以?传值调用将值传递给栈上面另外地址空间的变量了 为什么传递指针可以?虽然指针也是在栈上面,但是这个栈空间里面实际存放的是要修改变量的地址,按图索骥的话通过地址就可以修改原先变量的值了
#include void fun(int a,int b) {int t; t=a;a=b;b=t; } main()
#include void fun(int a, int b) { int t; t=a; a=b; b=t;
void fun(int a,int b) { int t; t=a;a=b;b=t; } main()
#include "stdio.h" void fun(int a,int b) { int t; t=a,a=b,b=
#include void main( ) { int a=3,b=5; int *p,*q; void f1(int
#include void func(int b) { int a; a=b;b=10;} void main() {i
#include #include // void fun(int a,int b,int c
#include void swap(int a,int b){ int t;if(a>b)t=a,a=b,b=t;}v
#include "stdio.h" void main() { int a=1,b=2,c=2,t; while(a
# include void main() {int a,b,c,t; scanf("%d%d%d",&a,&b,&c)
#include void main(void) { int a=
void fun(int *a,int *b) { int *c; c=a;a=b;b=c; } main() { in