Ich vermute stark, dass es hauptsächlich deshalb ist, weil MSVC nicht versucht, C99 zu unterstützen, und sehr wahrscheinlich nie. Es gibt ein paar eingebettete Compiler im selben Boot, aber sie sind kaum üblich genug, um sehr individuell zu sein. AFAIK alle anderen versuchen zumindest, C99 so weit wie möglich zu implementieren.
Es gibt in der Praxis nicht viel Grund, ausgewählte Funktionen von C99 nicht zu verwenden, aber wenn Sie einen C-Standard lernen und schreiben, und nur einen, dann muss es C89 sein.
Außerdem ist es wahrscheinlich ziemlich schwierig und verwirrend, einen einleitenden C-Text zu schreiben, der mit den Worten beginnt: "Okay, es gibt zwei verschiedene Standards, und ich werde drei verschiedene Textfarben verwenden: eine für C89, eine für C99 und eins für beide ". Es ist wahrscheinlich auch schwieriger, für ein ganzes Buch über C99 zu schreiben und dann viel von dem, was Sie in einem Anhang über C89 gesagt haben, "zurückzunehmen", als über C89 zu schreiben und dann in einem Anhang über C99 hinzuzufügen .
Alle Spekulationen, obwohl. Wirklich müssen Sie die Autoren der Bücher fragen, die Sie lesen (oder vielleicht in einigen Fällen gegen Ihre Programmierinstinkte gehen, und lesen Sie das Vorwort;
Bitte geben Sie Beispiele. Welche neuen Bücher liest du? –