Парни помогите с С

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by eregis, 8 Sep 2010.

Thread Status:
Not open for further replies.
  1. greki_hoy

    greki_hoy Member

    Joined:
    4 Mar 2010
    Messages:
    326
    Likes Received:
    57
    Reputations:
    41
    2GRRRL Power
    к чему пришли сравнение должно быть знаковым но при определенных обстоятельствах включенной оптимизации знании компилятором значения второго операнда и если это не повлияет на результат то может сгенерить и беззнаковое но так как беззнаковое может сгенерить когда это не повлияет на результат следует всегда смотреть возможные проблемы именно при знаковом сравнении
    полагатся на беззнаковое сравнение будет ошибкой
    полагаясь что сравнение беззнаковое можно подумать что это условие ложно всегда
    так как -1 будет максимумом но это же ошибка
    int _32 = -1;
    if((unsigned char)a > _32)
    следует рассматривать именно знаковое сравнение
     
  2. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    тема постепенно переросла во флуд.

    тс получил достаточно рабочих ответов.

    тема закрыта.
     
Thread Status:
Not open for further replies.