学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

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

为什么以下程序运行结果是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);
}

TOP

你的x,y可是全局变量阿。你在s()里面又没有隐藏他们而是直接用的,当然变了阿。
前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。

TOP

正解!按你原来的意思的话s()函数里就没必要定义x y了!
敢想敢做的人不平庸~~~~


】QQ:893 889 092

TOP

懂了,谢了哦

TOP

看来问题已经解决了
路过
做一个自由的人,飞到蔚蓝的天空里。

TOP

恩,新手常见的问题
大家一起来编程吧!

TOP

发新话题