打印

请教关于C51的问题,请看程序.

[复制链接]
1643|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hxdjb|  楼主 | 2008-3-4 16:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1 .int max (x, y)

2. int x,y ;

3. int max (int x, int y)

4   { int z ;

5      if (x>y) z=x ;

        else  z=y ;

       return z ;

   }

向大家请教: 第一句和第二句直接用第三句代替可以吗?  第三句中的X,Y 都是常量吗?小刮号内只能定义常量吗? 变量Z是不是只能写在大刮号内? 初学C,请各位多指教.不甚感激.

相关帖子

沙发
ayb_ice| | 2008-3-4 16:57 | 只看该作者

随便说说

第一句和第二句直接用第三句代替...可以
第三句中的X,Y 都是常量吗?...变量
小刮号内只能定义常量吗? ...非
变量Z是不是只能写在大刮号内? ...是

使用特权

评论回复
板凳
hxdjb|  楼主 | 2008-3-4 17:18 | 只看该作者

先谢了,在看看

3. int max (int x, int y)
小刮号内的参数一般都应该是变量吗?
在这个小刮号内的X,Y既然是变量那程序是否可以改成如下样式;
4. int max ( )

4   { int z ,x, y;

6     if (x>y) z=x ;

        else  z=y ;

       return z ;

   }

使用特权

评论回复
地板
zzw111| | 2008-3-4 18:25 | 只看该作者

这样就对了

int max (int x, int y)
{ int z ;
   if (x>y) z=x ;
   else  z=y ;
   return z ;
   }

使用特权

评论回复
5
hxdjb|  楼主 | 2008-3-5 09:03 | 只看该作者

既然X,Y,Z 都是变量写成下面这样不行吗?

 int max ( )

   { int z ,x, y;

    if (x>y) z=x ;

        else  z=y ;

       return z ;

   }

使用特权

评论回复
6
hxdjb|  楼主 | 2008-3-5 09:15 | 只看该作者

是因为Z是返回值,只能写在大刮号的申明内吗?

main( )
{float a,b,c;
 ..........
 ..........
但是上面的程序是可以的. 

使用特权

评论回复
7
xwj| | 2008-3-5 09:20 | 只看该作者

唉,LZ,先去看书,搞清楚函数的参数传递规则再说

C下面还有个需要特别注意的东西:变量的作用域!

不懂就先去看书,不要老是瞎问,
否则说了你也还是不懂!

使用特权

评论回复
8
HWM| | 2008-3-5 09:41 | 只看该作者

呵呵,再此瞎说几句。

既然是函数,而x和y都是输入量(有点象自变量),当然形式上应该放在小括号内如:int max (int x, int y)。注意的是要加上类型说明。

但是否一定要放在小括号内呢,包括z,回答是否。不过这样一来就必须直接使用在顶层定义的公共变量(必须在函数外定义x,y,z)。想想这样一来有何限制呢?由于没有定义输入变量,此函数只能对固定而唯一的x,y进行处理,另外由于z置身于函数外,就有被中途修改的可能。

使用特权

评论回复
9
huangqi412| | 2008-3-5 09:53 | 只看该作者

哎,lz还是先多看下c语言书再问

使用特权

评论回复
10
zzw111| | 2008-3-5 16:26 | 只看该作者

想学C语言的话

还是把谭浩强的书看两边在说吧。

使用特权

评论回复
11
381917153| | 2008-3-7 17:41 | 只看该作者

随便说几句

第一行的相当于函数声明,第二行的X,Y是变量声明,第三行括号能的X,Y是型参,虽然与第二行的看上去一样,但实际上值是可以不同的
 1.int max (x, y)

2. int x,y ;

3. int max (int x, int y)

4   { int z ;

5      if (x>y) z=x ;

        else  z=y ;

       return z ;

   }

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

128

主题

238

帖子

2

粉丝