#!/bin/csh
@ cows = 4 - 3 + 1
echo $cows
Este sencillo script csh cuando se ejecuta produce "0" para la salida cuando esperaba "2".En csh, ¿por qué 4 - 3 + 1 == 0?
~root: csh simple.1
0
Hice un montón de espera y lo único que podía pensar era que el "-" estaba siendo leída como una negación unaria en lugar de restar, por lo tanto, cambiar la precedencia de operadores y terminando con el 4 - 4 en vez que 2 + 1. ¿Es esto correcto? Si es así, ¿por qué? Si no ... ¡ayuda!
Editar: ¡Así que son correctos asociativos! Estos operadores NO son asociativos correctos en C, ¿verdad? ¿C-Shell es diferente de C?
He aquí una pregunta mejor ... ¿por qué árboles de análisis sintáctico uso CSH asociativo por la derecha y no la izquierda? –
... y una mejor pregunta. ¿Por qué usar csh? –
No estaba realmente usándolo. Era una pregunta que intentaba responder por un amigo. Aquí está la nueva discusión: http://stackoverflow.com/questions/1010119/ – Instantsoup