当前位置: 代码迷 >> C语言 >> 为什么以下程序运行结果是x=3,y=4,n=7而不是x=1,y=2,z=3?
  详细解决方案

为什么以下程序运行结果是x=3,y=4,n=7而不是x=1,y=2,z=3?

热度:93   发布时间:2008-05-20 16:56:08.0
为什么以下程序运行结果是x=3,y=4,n=7而不是x=1,y=2,z=3?
#include<stdio.h>
int s();
int x,y;
main()
{
    int n;
    x=1;
    y=2;
    n=s() ;
    printf( "x=%d,y=%d,n=%d ",x,y,n);
}
s()
{
     int z;

     x=3;

       y=4;

       z=x+y;

       return(z);
}
搜索更多相关的解决方案: int  结果  运行  main  

----------------解决方案--------------------------------------------------------
你的x,y可是全局变量阿。你在s()里面又没有隐藏他们而是直接用的,当然变了阿。
----------------解决方案--------------------------------------------------------
正解!按你原来的意思的话s()函数里就没必要定义x y了!
----------------解决方案--------------------------------------------------------
懂了,谢了哦
----------------解决方案--------------------------------------------------------
看来问题已经解决了
路过
----------------解决方案--------------------------------------------------------
恩,新手常见的问题
----------------解决方案--------------------------------------------------------
  相关解决方案