|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Serguei Khvatov 2:5020/175.2 12 Nov 2003 15:34:14 To : Denis Kostousov Subject : Re: сайд-эффекты -------------------------------------------------------------------------------- Привет, Denis! Wed Nov 12 2003 13:15, Denis Kostousov wrote to Eugene Karpachov: DK> From: Denis Kostousov <sandello@permonline.ru> DK> Eugene Karpachov wrote: >> Wed, 12 Nov 2003 05:27:02 +0000 (UTC) Denis Kostousov написал: >> >>>>> mass[k]=mass1[k++]; >>> >>> IMHO, с точки зрения языка - все правильно. k++ - пост инкремент. >> >> >> Правильно (то есть программа "well-formed"), только поведение программы >> не определено. >> DK> Как это, не определено? Понятие "пост-инкремент", ИМХО, четко определяет DK> поведение. А если кто-то где-то компилятор написал не так... так это он DK> был не прав. Об этом было сказано ещё в первоисточнике (у K&R): порядок вычисления операндов у оператора присваивания неопределён. Постинкремент означает только то, что k будет увеличено после вычисления mass1. Даже не гарантируется, что это будет сделано сразу. Я как-то в давние времена сдуру написал: while (*p++ == *p++) так компилятор сначала сравнил объекты, а потом указатель нарастил на 2 --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3300ec86ad9c.html, оценка из 5, голосов 10
|