【发布时间】:2010-11-03 20:20:58
【问题描述】:
#!/bin/csh
@ cows = 4 - 3 + 1
echo $cows
这个简单的 csh 脚本在运行时会产生“0”作为输出,而我期望“2”。
~root: csh simple.1
0
我看了一堆东西,唯一能想到的是“-”被解读为一元否定而不是减法,因此改变了运算符的优先级并以 4 - 4 而不是 2 + 1 结束。 它是否正确?如果是这样,有什么理由吗?如果没有...帮助!
编辑:所以他们是正确的联想!这些运算符在 C 中不是右结合的,是吗? C-Shell 与 C 有什么不同吗?
【问题讨论】:
-
这里有一个更好的问题......为什么 csh 使用右关联解析树而不是左关联?
-
... 还有一个更好的问题。为什么要使用 csh?
-
我实际上并没有使用它。这是我试图为朋友回答的问题。这是新的讨论:stackoverflow.com/questions/1010119
-
只是为了增加轻浮性,在 tcsh(/bin/csh 通常是符号链接)中,
4 - 3 + 1的计算结果为2