Я новичок в программировании. Надеюсь, вы, ребята, можете мне помочь.
i=0;
while(i++<12)
printf("%d\n",i);
Мой вопрос не касается операторов или того, как работает код. Я проверил различные формы, так что я знаю, что делает этот кусок кода, и окончательное значение в нем будет 13. Что я хочу знать, это:
С моей точки зрения, операторы должны следовать за приоритетом оператора (предпочтение). Поэтому ++ должен быть оценен до <.
Приоритетная ссылка оператора: <a href="https://www.geeksforgeeks.org/c-operator-precedence-associativity/" rel="nofollow noreferrer">https://www.geeksforgeeks.org/c-operator-precedence-associativity/
пока что я = 3,
Step 1:while(i++<12)
Step 2:while((i+1)<12)
Step 3:while(4<12)
Step 4:true and enters while loop
Если предпочтением оператора пренебрегают (но я не знаю почему):
Step 1:while(i++<12)
Step 2:while(i<12)
Step 3:while(3<12) which returns value 1
Step 4:while(1++) operator ++ on the return value 1 from above step
Step 5:while(2) which is true and enters while loop
Надеюсь, вы, ребята, можете понять мой вопрос. Пожалуйста, помогите.