Тестирование компилятора С от Visual Studio 2008, 2010 с помощью выполненной ниже проверки показала:
1) Строчку "C not standartizied\n".
Насильно же врубить это можно с помощью вот опции /Za компилятора для студии
2) В книжке Харбисон/Стил - язык С сказано
а) __VA_ARGS__ появился в С99 (хотя в студии это имеется для их с-ного компилятора)
б) До С99 имеется ограничение места определения переменных - только в начале блока.
(в реализациии MSVC это ограничение действует). В общем не совсем понятно какую версию языка С поддерживает
компилятор Visual Studio.
--------------------------------------------------------------------------------------------------------------------
Приложение, для проверки версии C/C++ (main.c)
--------------------------------------------------------------------------------------------------------------------
#include <stdio.h>int main(){#ifdef __cplusplus printf("C++ version %li\n", __cplusplus);#elif defined(__STDC__)#if defined(__STDC_VERERSION__) &&__STDC_VERERSION__ > 199901L printf("C99 standart\n");#elif defined(__STDC_VERERSION__) &&__STDC_VERERSION__ > 199409L printf("C89 with additions 1\n");#else printf("C89\n");#endif#else printf("C not standartizied\n");#endif return 0;}// highlight with http://tohtml.com/