Re[3]: семантика switch/case
От: xobotik Россия  
Дата: 16.12.15 11:35
Оценка:
Здравствуйте, _hum_, Вы писали:

__>"case" — переводится как "случай", и естественная человеческая семантика подразумевает "в случае, если значение в switch совпадает cо значением случая, выполнить то, что стоит после воеточия". а на деле же:

__>
__>switch(3) 
__>{
__>   case 1: // пропускает, ибо 1 != 3
__>   case 2: // пропускает, ибо 2 != 3
__>   case 3: // входит, ибо 3 == 3
__>   case 4: // wtf?? 4!=3, а он все равно входит
__>   case 5: // wtf?? 5!=3, а он все равно входит  
__>};
__>

__>и именно потому, что семантика не естественная: case на самом деле означает не предусловие, а метку, куда должен перейти поток управления из точки switch.

Семантика в отрыве от break; конечно будет не естественная, да и пример switch, который Вы написали, не часто встречается на практике.
С уважением!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.