注册 登录
编程论坛 C++教室

小人鱼来论坛报道贴,并问一个很白痴的问题··谢谢大家

小人鱼 发布于 2010-05-20 07:38, 1193 次点击
   今天刚学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 编辑 ]
11 回复
#2
lijm19892010-05-20 08:17
函数的as功能区里,x,y并不是没有定义,你看看形参那里的是什么?那里就已经定义加声明了。
并不是说主函数那里定义了有用的,根据变量的作用域 可以知道, 主函数那里声明的局部变量只能用于主函数。

C/C++的变量肯定是定义才能使用的。
#3
fanfan3202010-05-20 10:27
x和y在形参里就定义了,所以在AS函数里不定义就能使用,可tom和mike只是在主函数里才定义的,在AS函数里当然没没定义了。
#4
小人鱼2010-05-20 10:51
谢谢哥哥们不吝赐教 如果这个程序要修改的话 还有更好的办法吗?
#5
lijm19892010-05-20 12:35
MM给的代码有问题么?要改成什么样的效果咧?
#6
lscalin2010-05-20 14:51
把MAIN里的变量名跟AS里的变量名取不一样的,也便区分
#7
yc25757572010-05-20 15:36
#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有帮助吧~~
#8
cga2010-05-20 16:12
我想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";
};
#9
2010-05-21 16:45
群19472277、32101118,高人QQ不便透露,自己到群里找。。。或者论坛里随便瞄一个
#10
流氓之父2010-05-21 17:35
函数在未定义之前被调用需申明,申明时会有形参啊
tom,make,报错是因为他们不是函数啊
#11
流氓之父2010-05-21 17:37
妹妹好哇!
#12
ouyangouyang2010-05-22 23:03
长沙的啊,加我qq啊,961338985
1