C присваивание int - PullRequest
       25

C присваивание int

3 голосов
/ 31 октября 2010

Когда вы видите такой код в C, каков порядок назначения?

int i = 0, var1, var2;

Я не понимаю синтаксис ...

Ответы [ 5 ]

11 голосов
/ 31 октября 2010

Только i присваивается значение ноль.

var1 и var2 неинициализированы.

7 голосов
/ 31 октября 2010

В вашем коде нет никакого «назначения». Это объявление трех переменных типа int, из которых одна инициализируется нулем. Символ = является неотъемлемой частью синтаксиса инициализации, он не имеет ничего общего с каким-либо «присваиванием». И поскольку там есть только одна инициализация, нет никаких сомнений ни о каком «заказе».

Если это не отвечает на ваш вопрос, уточните его.

4 голосов
/ 31 октября 2010

i инициализируется как 0, тогда как переменные var1 и var2 неинициализированы и поэтому имеют неопределенные значения (если они определены в локальной области).

4 голосов
/ 31 октября 2010

Существует только одно присвоение (i = 0), остальные - определения.

0 голосов
/ 01 ноября 2010

Все они являются локальными переменными, единственное отличие состоит в том, что мне присвоено нулевое значение, тогда как значения var1 и var2 непредсказуемы, они будут иметь значения мусора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...