0
int i;
for(i=0; i<10;)
{
i=i++;
printf("Hello\n");
}
следующий код работает в бесконечном цикле. Может ли кто-нибудь помочь мне понять, почему?оператор приращения, выполняющий цикл for в бесконечный цикл
Но поскольку это оператор post increment, сначала «i» должен быть присвоен 1. Затем «i» должен увеличиться до 2. не так ли? –
@ Viswa Sairaman: Оператор Increment имеет больше _precedence_, чем оператор присваивания. Поэтому, если «i» равно 1, сначала выполняется приращение, что означает, что «i» становится 2, а «i ++» возвращает 1, которому присваивается «i», что делает его 1. –