Постфиксный инкремент ++
не увеличивает значение своего операнда до тех пор, пока он не будет оценен. Значение i++
равно i
.
Префикс декремента увеличивает значение своего операнда до его оценки. Значение --i
равно i - 1
.
Увеличение / уменьшение префикса изменяет значение до вычисления выражения. Постфиксный приращение / уменьшение меняет значение после.
Итак, в вашем случае fun(10)
возвращает 10, и при печати --i
печатается i - 1
, что равно 9.
Вы также можете запустить файл vcvars32.bat из каталога C: \ Program Files \ Microsoft Visual Studio 8 \ VC \ bin (это ваш путь) перед командой cl.
Примерно так:
C:\Users\nathan\Desktop>vcvars32
C:\Users\nathan\Desktop>cl minimal.c
vcvars32 вызывает C: \ Program Files \ Microsoft Visual Studio 8 \ Common7 \ Tools \ vsvars32.bat, который устанавливает необходимую среду для компиляции и компоновки.
Переменные среды:
ВКЛЮЧИТЬ, LIB и ПУТЬ
Компилятор ищет файлы заголовков в пути INCLUDE во время компиляции,
а библиотеки извлекаются из пути LIB во время ссылки.
Когда вы запускали командную строку, запускали ли вы включенный ярлык командной строки, который поставляется с установкой Visual Studio? Это установит для вас правильные переменные среды, чтобы компиляция работала правильно.
You've added your INCLUDE paths to your PATH environment variable. Use vcvars32.bat as the others have suggested.