void fun(int *a,int *b) { int *c; c=a;a=b;b=c; } main() { in
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/28 23:56:02
void fun(int *a,int *b) { int *c; c=a;a=b;b=c; } main() { int x=3,y=5,*p=&x,*q=&y; fun(p,q);...
void fun(int *a,int *b)
{
int *c;
c=a;a=b;b=c;
}
main()
{
int x=3,y=5,*p=&x,*q=&y;
fun(p,q); printf("%d,%d,",*p,*q);
fun(&x,&y); prin"%d,%d\n",*p,*q);
}
两次函数调用明明传递的是地址,为什么不能交换两个数的值
void fun(int *a,int *b)
{
int *c;
c=a;a=b;b=c;
}
main()
{
int x=3,y=5,*p=&x,*q=&y;
fun(p,q); printf("%d,%d,",*p,*q);
fun(&x,&y); prin"%d,%d\n",*p,*q);
}
两次函数调用明明传递的是地址,为什么不能交换两个数的值
fun中 a的值是x的地址 b的值是y的地址 记住 a和b的值也是复制过来的 然后 你把他们的值交换了 想想看和x和y的地址有什么关系呢?你在函数中 应该用int c;c=*a;*a=*b;*b=c;
这样就通过地址修改了地址中的值
这样就通过地址修改了地址中的值
void fun(int *a,int *b) { int *c; c=a;a=b;b=c; } main() { in
#include #include // void fun(int a,int b,int c
#include func(int a,int b) {int c; c=a+b; return c;} main()
#include func(int a,int b){int c; c=a+b;returnc;}main(){intX
func(int a,int b) {int c; c=a+b; return(c); } main() {int x=
#include void fun(int a,int b) {int t; t=a;a=b;b=t; } main()
void fun(int a,int b) { int t; t=a;a=b;b=t; } main()
#include int func(int a,int b) { int c; c=a+b;return c; } ma
#include void main() { int a,b,c; for(a=1; a
c语言这段程序看不懂int fun(int a,int b,int c){ int t; t=(a>b)?(b>c?b:
#include int max(int a,int b,int c){\x05a=a>b?a :b ;\x05retu
#include void main( ) { int a=3,b=5; int *p,*q; void f1(int