Welchem ​​Compiler soll ich vertrauen?

Dies wird eine Frage für Anfänger sein, aber ich habe versucht, an einer kleinen Übung im zu arbeitenC Sprache (nichtC ++) und ich stieß auf einige Probleme.

Angenommen, ich wollte ein Array in einer Methode verwenden, deren Größe von einem der folgenden Argumente abhängt:

void someFunc(int arSize)
{
    char charArray[arSize];
    // DO STUFF
    ...
}

Wenn ich versuche, dies als zu kompilieren.c Datei innerhalbVisual Studio 2013 Ich erhalte die Fehlermeldung, dass eine nicht konstante Arraygröße nicht zulässig ist. Derselbe Code funktioniert jedoch innerhalb vonCodeBlocks unter einem GNU Compiler. Wem soll ich vertrauen? Ist es normal, dass sich Compiler so unterschiedlich verhalten? Ich dachte immer, wenn Sie etwas tun, das ein Compiler nicht mag, sollten Sie es nicht an erster Stelle tun, weil es kein Standard ist.

Jede Eingabe ist nützlich! Ich komme aus einem Hintergrund inPython und ich versuche, mich stärker mit dem Programmieren mit Datenstrukturen und Algorithmen zu befassen.

Meine Plattform ist Windows, wie Sie wahrscheinlich sehen können. Bitte lassen Sie mich wissen, ob diese Frage weitere Informationen benötigt, bevor sie beantwortet werden kann.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage