
C语言中一个小程序
#include<stdio.h>voidmain(){intx=2,y=1;voidf(intx,inty);f(x,y);printf("%d,%d",x,y);}v...
#include <stdio.h>
void main()
{
int x=2,y=1;
void f(int x,int y);
f(x,y);
printf("%d,%d",x,y);
}
void f(int x,int y)
{
y=x+y;
x=x-y;
}
为什么最后输出值与f函数无关呀? 展开
void main()
{
int x=2,y=1;
void f(int x,int y);
f(x,y);
printf("%d,%d",x,y);
}
void f(int x,int y)
{
y=x+y;
x=x-y;
}
为什么最后输出值与f函数无关呀? 展开
2个回答
展开全部
函数的传递一般都是值传递,即是变量的值的拷贝,而不是变量本身,这里执行的函数虽然改变了f函数中x,y的值,但是对于主函数调用部分的变量值是没有任何影响的
追问
那怎样才能让x,y的值传递回去?
追答
使用指针
如
void f(int *x,int *y)
{
*y=*x+*y;
*x=*x-*y;
}
调用的时候用f(&x,&y);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询