Ну, я хочу знать, какой порядок компилятор «прочитал» код.
Например: < /p>
Предположим, у меня есть следующий фрагмент кода: < /p>
int N, M;
N = M = 0;
< /code>
В этом случае компилятор разделяет часть памяти (int, 4 байта) для n и m, а затем, на второй строке (где приходит мои сомнения ), из двух вещей, одна: < /p>
Компилятор "Читать" n равно m и равна нулю. < /p>
или < /p>
Компилятор »считывает« ноль, поместите его в память о M, затем получите значение M, ноль, и поместите его в память n. < /p>
Другими словами, это справа налево или слева направо? Я не знаю, стало ли ясно моим сомнением, но в тесте, который я сделал: < /p>
int i=0; /*I declared the variable i, and assign zero value to it*/
printf("%d", i++); /*Prints 0*/
printf("%d", i); /*Prints 1*/
< /code>
Я понимаю приведенный выше код, на второй строке компилятор, кажется, (из того, что я индетаю) «Читать» слева направо, присваивая типу %d Я ценю и после печати переменная I увеличивается, потому что на третьей строке она напечатана как 1. +: < /p>
int i=0; /*I declared i variable to zero*/
printf("%d", ++i); /*Prints 1*/
printf("%d", i); /*Prints 1*/
< /code>
В этом случае, на второй строке (из того, что я понял) компилятор «читает» слева направо, и когда компилятор читает то, что будет напечатано ( что оставаться после запятой, как называется это пространство?), Сначала «читает» ++ и увеличивает переменную ниже, которая в данном случае я, а затем назначает %d для печати.
В порядке, какой порядок, который компилятор «читает»? У меня были некоторые учителя, которые сказали мне, что компилятор «прочитал» справа налево, от полуколона (;), но у компилятора на самом деле есть заказ? И если то, что я сказал выше, неверно, пожалуйста, поправьте меня. (Я не очень хорошо говорю по -английски) < /p>
Спасибо! < /P>
Подробнее здесь: https://stackoverflow.com/questions/207 ... r-compiles
Который является порядок, который компилятор компиляция компилирует ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение