Sospecho que es principalmente porque MSVC no intenta soportar C99, y es muy probable que nunca lo haga. Hay algunos compiladores integrados en el mismo barco, pero apenas son lo suficientemente comunes como para importar mucho de forma individual. AFAIK todos los demás al menos están intentando implementar C99 tanto como sea posible.
No hay muchas razones en la práctica para no usar las funciones seleccionadas de C99, pero si va a aprender y escribir en un estándar C, y solo uno, entonces debe ser C89.
Además, probablemente sea bastante difícil y confuso escribir un texto introductorio en C que comienza diciendo "OK, hay dos estándares diferentes, y voy a usar tres colores de texto diferentes: uno para C89, uno para C99, y uno para ambos ". Probablemente también sea más difícil escribir sobre C99 para todo un libro, y luego "retomar" mucho de lo que dijo en un apéndice sobre C89, que escribir sobre C89 y luego agregarlo en un apéndice sobre C99. .
Todas las especulaciones, sin embargo. Realmente tendría que preguntarle a los autores de los libros que está leyendo (o quizás en algunos casos ir contra todos sus instintos de programación, y lea el prólogo ;-))
Por favor, dé ejemplos. ¿Qué nuevos libros C estás leyendo? –