help
#include<stdio.h>void fun (int,int);
void main(void)
{
int i,j,x,y,n,g;
i=2;j=3;g=x=5;y=9;n=7;
fun(n,6);
printf("g=%d,i=%d,j=%d\n",g,i,j);
printf("x=%d,y=%d\n",x,y);
fun(n,6);
}
void fun (int i,int j)
{
int x,y,g;
g=8;x=7;y=2;
printf("g=%d,i=%d,j=%d\n",g,i,j);
printf("x=%d,y=%d\n",x,y);
}
为什么这个程序在进入了自定义函数的时,i和j值由2和3变成了7和6;谢谢了各位了。
搜索更多相关的解决方案:
help
----------------解决方案--------------------------------------------------------
void fun (int i,int j)此i,j非此i=2;j=3;中的i,j;
LZ可以看一下书中函数一章。
----------------解决方案--------------------------------------------------------
传值函数~~子函数里面的行参值改变,只改变其副本值~~而不改变主函数中实参值~~~~
----------------解决方案--------------------------------------------------------
同意2#3#分析 要不用指针 要不就返回制
----------------解决方案--------------------------------------------------------
是啊...可我还不知道为什么会有7和6出现啊...
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
多看书 ,还没搞清实参 和形参到底是怎么回事
----------------解决方案--------------------------------------------------------
把自定义函数中的i,j换成其他的字母就行了。呵呵。同意上楼的说法。
----------------解决方案--------------------------------------------------------
同意楼上的,看完这个,你就明白了!
http://www.bccn.net/Article/kfyy/cyy/jc/200409/5
----------------解决方案--------------------------------------------------------