#include <stdio.h>
#include <stdlib.h>
int main (void)
{
for(int i = 0;i<10;i++)
printf ("%d\n", i);
}
et un autre:
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int i = 0;
// for(int i = 0;i<10;i++)
printf ("%d\n", i);
}
Je me demandais simplement pourquoi à la compilation, le premier me donne une erreur du compilateur (GCC) à cause de la création de variable dans une boucle for qui n'est autorisé qu'avec la norme C99, alors que le seconde ne me donne pas d'erreur du compilateur or j'ai souvent lu que le commentaire sur une ligne(//) a été rajouté à la norme C99.
Auriez-vous une explication ? Je vous remercie d'avance.
🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles- ♡ Copying is an act of love.
~/Bureau$ gcc main.c
main.c: In function ‘main’:
main.c:7: error: ‘for’ loop initial declarations are only allowed in C99 mode
main.c:7: note: use option -std=c99 or -std=gnu99 to compile your code
Et le seconde se passe normalement.
Je n'ai pas d'optimisation du compilo, voila ce que je tape: gcc main.c et c'est tout.
🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles- ♡ Copying is an act of love.
C'est parce que par défaut gcc compile avec l'option -std=gnu89, le "dialecte GNU" du C90. Ce dernier permet, entre autre, d'inclure des commentaires de type //
Citation : man gcc
-std=
[...]
A value for this option must be provided; possible values are
[...]
gnu89
GNU dialect of ISO C90 (including some C99 features). This is the default for C
code.
@EliemessiAngemichael Bonsoir, merci de ne pas squatter le sujet des autres, ni de déterrer d'ancien sujet résolu.
Merci de respect des règles du forum à savoir qu'un message commence par des règles de politesses (Un bonjour ou des salutations à la communauté et se termine par des remerciements par avances pour les futures réponses).
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Manque de Politesse
Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?
🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles - ♡ Copying is an act of love.
🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles - ♡ Copying is an act of love.
🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles - ♡ Copying is an act of love.
🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles - ♡ Copying is an act of love.