| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1193 人关注过本帖
标题:小人鱼来论坛报道贴,并问一个很白痴的问题··谢谢大家
只看楼主 加入收藏
小人鱼
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-5-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:11 
小人鱼来论坛报道贴,并问一个很白痴的问题··谢谢大家
   今天刚学C++ 到这个论坛感觉学习气氛很不错 ····顺便提个问题 请各位 哥哥 和姐姐 帮帮我 谢谢·顺便问问 咱C++论坛版区 有精华QQ群或世外高人的QQ吗 有的话请透露一二 ,小女子在此再次谢过大家了·
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
int as(int ,int );
int main()
{
    int tom,mike,x,y;
    x=as(x,y);
    return 0;
}
int as(int x,int y)
{
 int tom,mike;
 x=160;
 y=150;
 tom=y;
 cout<<"tom的身高是:"<<tom<<"\n";
 int z;
 z=x;
 x=y;
 y=z;
 mike=y;
 cout<<"mike的身高是:"<<mike<<"\n";
  return y;
};

 

根据上面的小程序得知  定义了4个变量tom,mike,x和y; 然后X调用函数AS,在函数的as功能区里我们发现,X,Y.不需要定义即可使用。是因为在mian函数中已经定义了X和Y。但是我们在这里有趣的发现,如果在AS函数中不声明变量tom和mike将会报错,标识符tom和mike未定义。这是为什么,有知道的朋友说下。



[ 本帖最后由 小人鱼 于 2010-5-20 07:46 编辑 ]
搜索更多相关主题的帖子: 人鱼 
2010-05-20 07:38
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:2 
函数的as功能区里,x,y并不是没有定义,你看看形参那里的是什么?那里就已经定义加声明了。
并不是说主函数那里定义了有用的,根据变量的作用域 可以知道, 主函数那里声明的局部变量只能用于主函数。

C/C++的变量肯定是定义才能使用的。
2010-05-20 08:17
fanfan320
Rank: 3Rank: 3
来 自:运城
等 级:论坛游侠
帖 子:82
专家分:104
注 册:2010-5-12
收藏
得分:2 
x和y在形参里就定义了,所以在AS函数里不定义就能使用,可tom和mike只是在主函数里才定义的,在AS函数里当然没没定义了。
2010-05-20 10:27
小人鱼
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-5-20
收藏
得分:0 
谢谢哥哥们不吝赐教 如果这个程序要修改的话 还有更好的办法吗?

Q女子学编程
2010-05-20 10:51
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
MM给的代码有问题么?要改成什么样的效果咧?
2010-05-20 12:35
lscalin
Rank: 6Rank: 6
来 自:周总理故乡
等 级:侠之大者
威 望:1
帖 子:91
专家分:405
注 册:2010-5-10
收藏
得分:2 
把MAIN里的变量名跟AS里的变量名取不一样的,也便区分

灵感不是曹操,说来就来。
2010-05-20 14:51
yc2575757
Rank: 7Rank: 7Rank: 7
来 自:北京
等 级:黑侠
威 望:1
帖 子:113
专家分:522
注 册:2010-5-7
收藏
得分:2 
#include <iostream>
using namespace std;
void as(int ,int );
int main()
{
    int x,y;
    x= 160;
    y = 150;
    as(x,y);
    return 0;
}
void as(int x,int y)
{
int tom,mike;
int z;
tom=y;
cout<<"tom的身高是:"<<tom<<"\n";
z=x;
x=y;
y=z;
mike=y;
cout<<"mike的身高是:"<<mike<<"\n";
}
不知道符合lzmm的意思么,呵呵~~我觉得如果往子函数里传递参数时,参数还是在传递前初始化比较好,而且像有些不用返回值的函数就定义为void比较好,虽然国际标准说定义成int比较好。。呵呵,个人的一点愚见,希望对lzmm有帮助吧~~
2010-05-20 15:36
cga
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2010-5-20
收藏
得分:2 
我想MM是不是搞错了,main函数的变量定义跟as函数定义是没关系的 ,所以main函数定义tom,mike没用
#include <iostream>
using namespace std;
void as(int ,int );
void main()
{
    int  x,y;
    as(x,y);
}
void as(int mike,int tom)
{
tom=160;
mike=150;
cout<<"tom的身高是:"<<tom<<"\n";
int z;
z=mike;
mike=tom;
tom=z;
mike=tom;
cout<<"mike的身高是:"<<mike<<"\n";
};
2010-05-20 16:12
HideBoy
该用户已被删除
收藏
得分:2 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-21 16:45
流氓之父
Rank: 2
来 自:新疆
等 级:论坛游民
帖 子:104
专家分:72
注 册:2009-6-2
收藏
得分:2 
函数在未定义之前被调用需申明,申明时会有形参啊
tom,make,报错是因为他们不是函数啊
2010-05-21 17:35
快速回复:小人鱼来论坛报道贴,并问一个很白痴的问题··谢谢大家
数据加载中...
 
   



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

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