主题:a=b=c=d=e=f=g=0
moz
[专家分:37620] 发布于 2005-07-20 01:02:00
a=b=c=d=e=f=0
print a
大家口头说说a的值
回复列表 (共31个回复)
11 楼
def [专家分:3380] 发布于 2005-07-20 23:33:00
我被你们气的。。。真是。。。
请你们在QB里输入
楼主也。。。标题上怎么多一个'g'?
12 楼
moz [专家分:37620] 发布于 2005-07-20 23:44:00
哈哈哈哈哈哈,
因为我发现a是0,没意思,就在楼里面把g给删掉了,哈哈,def可真是......哈哈
正确的解释应该是
那么多的等号当中
第一个等号是赋值语句,
其他的等号都是比较判断语句
赋值运算的等值最低
而判断语句的运算顺序是从右到左的
加上括号就是这样:
a=(b=(c=(d=(e=(f=0))))) 没赋过值abcdef的值全为0
(f=0 比较结果的值是 -1 )
(e=-1 比较结果的值为 0 )
(d=0 比较结果的值为 -1 )
(c=-1 比较结果的值为 0 )
(b=0 比较结果的值为 -1 )
a= -1 赋值
13 楼
def [专家分:3380] 发布于 2005-07-21 13:04:00
副值是从右到左,等于是从左到右
不象C语言
你大概是学过C/C++/PASCAL/DELPHI语言吧
或者是学过错误的教程吧
14 楼
def [专家分:3380] 发布于 2005-07-21 13:07:00
a=(((((b=c)=d)=e)=f)=0)
?a
应是-1
15 楼
prairiewolf [专家分:290] 发布于 2005-07-21 13:14:00
我的结果是错的,为什么还要给我加10分?
16 楼
moz [专家分:37620] 发布于 2005-07-21 14:14:00
哦? 因为你勇于发言. 需要嘉奖.
def是对的,我是错的.
比较判断的符号也是从左到右的
全部是等号的话哪个方向都是一样的,我的答案只是侥幸而已.
17 楼
davidw017 [专家分:4170] 发布于 2005-07-21 17:59:00
to 8 楼:你怎么知道上来就都是 0?
19 楼
飞鸟12 [专家分:2830] 发布于 2005-07-21 21:23:00
to 17楼的davidw017
QBASIC的编译环境 会自动把未赋值的变量 赋值为0,字符串赋值为空字符串
20 楼
moz [专家分:37620] 发布于 2005-07-22 12:33:00
David是老前辈老家伙,
他老糊涂了,这些肤浅的东西他早就忘掉了.
我不能给飞鸟你加分,加了你要恃分凌我了.
我来回复