Syntax erreure
Résolu/Fermé
Bonjour,
voila je suis sous mandriva j'ai code blocks la version 8.02 j'ai créé mon projet test j'ai un minimum de code "bonjour monde" je l'éxecute dans la console grace a la commande ./main.c mais voila ce qua sa me met :
je ne comprend pas pourquoi sa me fait sa
voila je suis sous mandriva j'ai code blocks la version 8.02 j'ai créé mon projet test j'ai un minimum de code "bonjour monde" je l'éxecute dans la console grace a la commande ./main.c mais voila ce qua sa me met :
[user@guillemot test]$ ./main.c : command not found ./main.c: line 4: syntax error near unexpected token `(' '/main.c: line 4: `int main(int argc, char *argv[]) [user@guillemot test]$
je ne comprend pas pourquoi sa me fait sa
A voir également:
- Syntax erreure
- Erreure 0x80070643 - Accueil - Windows
- Syntax error, unexpected token "public" ✓ - Forum PHP
- Invalid Syntax ✓ - Forum Python
- Erreure include - Forum Programmation
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
12 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
25 juil. 2009 à 20:23
25 juil. 2009 à 20:23
...
Les bras m'en tombent.
il faut compiler ton .c !
Les bras m'en tombent.
il faut compiler ton .c !
bon ok je compile en appuyant sur build je vais dans la console je tape ./main.c et sa m'affiche :
./main.c: line 4: syntax error near unexpected token `(' '/main.c: line 4: `int main(int argc, char *argv[])
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
27 juil. 2009 à 09:25
27 juil. 2009 à 09:25
logique, main.c c'est ton source.
Le prog compiler, il porte un autre nom. a.out, ou main ou autre, si tu as un projet.
Le prog compiler, il porte un autre nom. a.out, ou main ou autre, si tu as un projet.
Re,
bon alors j'ai tapez cette commande ./a.out et sa a bien exécuter le code source sa m'affiche "hello world" mais voila après j'ai fait un code le voici:
donc sa devrais fonctionner sur la console?? et ben non il m'affiche toujours hello world quand je tape ./a.out
bon alors j'ai tapez cette commande ./a.out et sa a bien exécuter le code source sa m'affiche "hello world" mais voila après j'ai fait un code le voici:
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int nombre = 80, nbre = 0; while(nbre != nombre) { printf("trouvez le bon nombre\n"); scanf("%d", nbre); if(nbre < nombre) { printf("superieur!!\n"); } else if(nbre > nombre) { printf("inferieur!!!\n"); } else if(nbre == nombre) { printf("Bravo vous venz de trouver le bon numero\n"); } } return 0; }
donc sa devrais fonctionner sur la console?? et ben non il m'affiche toujours hello world quand je tape ./a.out
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
28 juil. 2009 à 15:27
28 juil. 2009 à 15:27
As tu bien fais le build ?
dans la console, tape "ls -lF" afin de voir tout les fichiers exécutables.
il faut : scanf("%d",& nbre); sinon tu va avoir une erreur.
dans la console, tape "ls -lF" afin de voir tout les fichiers exécutables.
il faut : scanf("%d",& nbre); sinon tu va avoir une erreur.
j'ai corriger mon erreur j'ai fait build je vais dans la console je vais dans mon porjet je tape ./a.out et sa m'affiche hello world alors que c'est pas ce qu'il y a dans mon code source
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
28 juil. 2009 à 16:35
28 juil. 2009 à 16:35
fait comme je t'ai dit un ls.
Fait un "cat main.c" pour vérifier ton code source.
Fait un "cat main.c" pour vérifier ton code source.
voila j'ai fait un ls et un cat sur le fichier main.c et voila ce qua sa m'affiche :
[user@guillemot test]$ ls -lF total 21 -rwxrwxr-x 1 user user 6145 2009-07-25 18:38 a.out* drwxr-xr-x 3 user user 1024 2009-07-25 18:33 bin/ -rwxrwxr-x 1 user user 6530 2009-07-28 15:32 main* -rw-rw-r-- 1 user user 511 2009-07-28 15:31 main.c -rw-rw-r-- 1 user user 1132 2009-07-28 15:32 main.o drwxr-xr-x 3 user user 1024 2009-07-25 18:33 obj/ -rw-rw-r-- 1 user user 727 2009-07-25 18:32 test.cbp -rw-rw-r-- 1 user user 96 2009-07-25 21:33 test.depend [user@guillemot test]$ cat main.c #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int nombre = 80, nbre = 0; while(nbre != nombre) { printf("trouvez le bon nombre\n"); scanf("%d", &nbre); if(nbre < nombre) { printf("superieur!!\n"); } else if(nbre > nombre) { printf("inferieur!!!\n"); } else if(nbre == nombre) { printf("Bravo vous venz de trouver le bon numero\n"); } } return 0; } [user@guillemot test]$
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
29 juil. 2009 à 07:43
29 juil. 2009 à 07:43
dans le ls, tu vois que tu as 2 exécutables "main" et "a.out".
Je pense que là il a du compiler dans "main".
Test ./main.
Je pense que là il a du compiler dans "main".
Test ./main.
ah ba oui tout marche correcteent mais dit moi il y a un truc que je veus savoir a propos de ta commande ls -lF
elle donne exactement le meme résultat que si je tapez ls -l donc je voudrais savoir a quoi sert le F après le ls -l
elle donne exactement le meme résultat que si je tapez ls -l donc je voudrais savoir a quoi sert le F après le ls -l
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
29 juil. 2009 à 16:50
29 juil. 2009 à 16:50
Le F sert à afficher les caractères en fin de nom de fichier (cf. man ls), * en fin de fichier exécutable / en fin de répertoire etc.
Mais ls à des comportement par défaut configurable, donc d'une machine à l'autre, ls ne donnera pas forcément le même résultat. Il est possible que sur ta machine F soit par défaut.
Voilà.
Mais ls à des comportement par défaut configurable, donc d'une machine à l'autre, ls ne donnera pas forcément le même résultat. Il est possible que sur ta machine F soit par défaut.
Voilà.