![](https://forum.armkb.com/images/enlighten/misc/cat_top_ls.gif) |
задачка для ассов c/c++ |
![](https://forum.armkb.com/images/enlighten/misc/cat_top_rs.gif) |
22.04.2005, 17:40
|
#1
|
Профессор
Join Date: 01 2005
Location: Perm
Age: 45
Posts: 2,142
Rep Power: 0
|
задачка для ассов c/c++
с виду тривиальная задачка ...
#include <stdio.h>
int main (int argc, unsigned char **argv) {
int i = 0;
i = i++;
printf ("i = %d\n", i);
return 0;
}
какое значение i будет выведенно ?
|
|
|
22.04.2005, 17:44
|
#2
|
Banned
Join Date: 10 2002
Location: Brooklyn, New York
Age: 46
Posts: 3,760
Rep Power: 0
|
i=i++ eto kaneshna kruto
|
|
|
22.04.2005, 17:47
|
#3
|
»
Join Date: 01 2002
Posts: 777
Rep Power: 0
|
0
|
|
|
22.04.2005, 17:49
|
#4
|
Banned
Join Date: 10 2002
Location: Brooklyn, New York
Age: 46
Posts: 3,760
Rep Power: 0
|
rezul'tat i++ vozvrashaet 0. znachit tipa vse v poryadke. a potom etot rezul'tat pripisivaetsya k i. znachit budet 0
|
|
|
22.04.2005, 17:52
|
#5
|
Banned
Join Date: 10 2002
Location: Brooklyn, New York
Age: 46
Posts: 3,760
Rep Power: 0
|
poprobui eshe i=printf("%d", i); ili eshe chego.
|
|
|
22.04.2005, 17:57
|
#6
|
»
Join Date: 01 2002
Posts: 777
Rep Power: 0
|
btw ас пишется с одним с :]
|
|
|
22.04.2005, 17:59
|
#7
|
Профессор
Join Date: 01 2005
Location: Perm
Age: 45
Posts: 2,142
Rep Power: 0
|
а можете обьяснить почему ?
|
|
|
22.04.2005, 18:05
|
#8
|
Banned
Join Date: 10 2002
Location: Brooklyn, New York
Age: 46
Posts: 3,760
Rep Power: 0
|
ya vrode obyasnil. rezul'tat operacii i++ vozvrashaet 0
|
|
|
22.04.2005, 18:05
|
#9
|
»
Join Date: 01 2002
Posts: 777
Rep Power: 0
|
потому что приоритет унарного оператора выше чем оператора присвоения
|
|
|
22.04.2005, 18:06
|
#10
|
Профессор
Join Date: 01 2005
Location: Perm
Age: 45
Posts: 2,142
Rep Power: 0
|
не обьяснил
|
|
|
22.04.2005, 18:14
|
#11
|
Banned
Join Date: 10 2002
Location: Brooklyn, New York
Age: 46
Posts: 3,760
Rep Power: 0
|
imeyushie glaza da uvidyat...
|
|
|
22.04.2005, 18:15
|
#12
|
Профессор
Join Date: 01 2005
Location: Perm
Age: 45
Posts: 2,142
Rep Power: 0
|
Danyer
пойми меня правильно
я имею ввиду по стандарту
а не логикой ... твоей логикой
|
|
|
22.04.2005, 18:21
|
#13
|
Banned
Join Date: 10 2002
Location: Brooklyn, New York
Age: 46
Posts: 3,760
Rep Power: 0
|
oi, sorry ya ne zametil, dlya accov...
acc eto je latinica... sorry. molchu.
xotya zombie toje neslabo skazal
|
|
|
22.04.2005, 18:23
|
#14
|
ЙЦУКЕН
Join Date: 07 2002
Location: 0x68,0x69,0x72, 0x69,0x6e,0x67, 0x20,0x6e,0x6f, 0x77
Age: 54
Posts: 3,118
Rep Power: 0
|
Quote:
Originally Posted by z0mbie
btw ас пишется с одним с :]
|
на русском ![Smilie](https://forum.armkb.com/images/smilies/smile.gif) на других языках это может быть не так.
ну извини, какой есть так и формулирует.
а вообще-то постфиксный оператор инкремента(декремента) выполняется _после_ выполнения _всей_ операции в которой он записан.
посему имеем --
i=i;
i++;
что и наблюдаем на экране при выполнении
|
|
|
22.04.2005, 18:29
|
#15
|
Профессор
Join Date: 01 2005
Location: Perm
Age: 45
Posts: 2,142
Rep Power: 0
|
я часто делаю ошибки
ну и что ?
Кстате читай беспредел ... там для тебя сообщение ...
|
|
|
All times are GMT. The time now is 19:50. |
|
|