| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1051 人关注过本帖
标题:为什么以下程序运行结果是x=3,y=4,n=7而不是x=1,y=2,z=3?
只看楼主 加入收藏
jay_love
Rank: 1
来 自:福建
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-5-13
收藏
 问题点数:0 回复次数:5 
为什么以下程序运行结果是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 
2008-05-20 16:56
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
得分:0 
你的x,y可是全局变量阿。你在s()里面又没有隐藏他们而是直接用的,当然变了阿。

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-05-20 17:52
wltysy
Rank: 1
等 级:新手上路
帖 子:560
专家分:0
注 册:2008-5-2
收藏
得分:0 
正解!按你原来的意思的话s()函数里就没必要定义x y了!
2008-05-20 18:01
jay_love
Rank: 1
来 自:福建
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-5-13
收藏
得分:0 
懂了,谢了哦
2008-05-20 18:24
zhuwei168
Rank: 1
来 自:东软信息学院
等 级:新手上路
帖 子:180
专家分:0
注 册:2008-2-13
收藏
得分:0 
看来问题已经解决了
路过

做一个自由的人,飞到蔚蓝的天空里。
2008-05-20 19:09
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
恩,新手常见的问题

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-05-20 19:11
快速回复:为什么以下程序运行结果是x=3,y=4,n=7而不是x=1,y=2,z=3?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058758 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved