当前位置: 代码迷 >> C语言 >> help
  详细解决方案

help

热度:547   发布时间:2008-04-16 19:36:28.0
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
----------------解决方案--------------------------------------------------------
  相关解决方案