Вместо этого 2*iя небрежно написал 2i: int foo(int i) { 2i; return 2i; } Я ожидал, что компилятор поймает ошибку. Но этого не произошло. Итак, 2iдопустимое утверждение на C? Если да, то что он делает? Озадачен! Я скомпилировал с помощью gcc версии 5.3.0, и вот результат сборки: .file "strange.c"...