7.23的事故原因找到了……C语言问题(转之水木)

  • 死命遭唤
    10w还不是最后一步,最后一步的是一顿饭。。。
  • 3
    3hfc
    这个程序有什么问题! 对于程序来说,不会说因为打雷,所以红灯。只要 if 没有信号,所以红灯就可以了。至于因为打雷,还是人为,还是短路,电脑又不会管。
  • K
    KONAMIX
    没错,信号系统的基本原则就是故障-安全,基本思路就是有故障,比如失电、某个部件损坏就显示占用或者红灯禁行。
  • l
    leiqilong
    安楼上的解释,就像 骑车 安全气囊。
    即使骑车撞碎了,气囊也未必气爆。
    原因在于你的撞到 G点
  • w
    weare
    看了下8楼,懂了!
  • d
    doomking
    不可能这么傻逼,再弱智的设计师也不可能犯这种完全违反设计原则的事情
  • l
    lobydenk
    if( get_signal() )
    绿灯
    else
    红灯
    /*************************************/
    if( get_exception() )
    红灯
    else
    绿灯
    /*************************************/
    int get_signal()
    {
    char sig = 0;
    read( g_fd_dev, &sig, 1 );
    return sig;
    }

    int get_exception()
    {
    if( !get_signal() )
    return ERR_NO_SIGNAL;
    if( !check_syn() )
    {
    save_log( get_last_err() );
    return ERR_SIGNAL_TIME_OUT;
    }
    return ERR_NONE;
    }

    [本帖最后由 lobydenk 于 2011-11-13 21:32 编辑]
  • 草汜
    不管程序犯了什么低级错误,问题是这样的程序是怎么通过验收的?!
  • d
    darkccc
    果然现在还是搞软件的牛啊。。。
  • h
    handsomeken
    安全气囊是需要触发信号的,跟安全联锁完全不同的概念……
  • c
    cavar3
    问题是因该有2套系统啊,后备系统呢?
  • 沉默の狙击手
    有意思。这个内容如果为true。那么问题不在if else的顺序。关键还是判断条件里。

    否则逻辑就是错的。再怎么改if else也不可能对