Compiler sous ubuntu
batman19
-
c_amigo Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
c_amigo Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
bonjour jé u dé problem lor de l'exécution de ce program main
#include<stdio.h>
#include"somme.h"
#include"produit.h"
main (int argc, char *argv[ ])
{
int a;
if(argv[1]==1)
{ a=somme(argv[2],argv[3]);
printf("operation somme demandée le resultat est %d ",a);
}
else if(argv[1]==2)
{ a=produit(argv[2],argv[3]);
printf("operation produit demandée le resultat est %d",a);
}
else
printf("erreur");
}
msg affiché:
main.c:4: error: stray `\302' in program
main.c:4: error: stray `\240' in program
merci d'avance pou votr aide
#include<stdio.h>
#include"somme.h"
#include"produit.h"
main (int argc, char *argv[ ])
{
int a;
if(argv[1]==1)
{ a=somme(argv[2],argv[3]);
printf("operation somme demandée le resultat est %d ",a);
}
else if(argv[1]==2)
{ a=produit(argv[2],argv[3]);
printf("operation produit demandée le resultat est %d",a);
}
else
printf("erreur");
}
msg affiché:
main.c:4: error: stray `\302' in program
main.c:4: error: stray `\240' in program
merci d'avance pou votr aide
A voir également:
- Compiler sous ubuntu
- Ubuntu 32 bits - Télécharger - Systèmes d'exploitation
- Comment compiler des pdf - Guide
- Ubuntu portable - Télécharger - Systèmes d'exploitation
- Linux mint ou ubuntu - Guide
- Ubuntu 24.04 - Accueil - Ubuntu
5 réponses
CÇM est un forum, pas un clavier de téléphone portable. En conséquence, tu n'obtiendras de réponse à ta question qu'en usant d'un vocabulaire adapté et d'une orthographe correcte. Ainsi que le disait le poète : "Ce qui se conçoit bien s'énonce clairement" (Nicolas Boileau). Ton message n'étant pas convenablement rédigé, cela nuit gravement à la situation de communication nécessaire à l'utilisation d'un forum. En conséquence, tu es prié de bien vouloir reformuler ce message de façon plus correcte. Pour plus d'informations, n'hésite pas à consulter l'article du règlement concernant l'écriture sur CÇM. Merci de ta compréhension.
Cordialement,
Franz.
Cordialement,
Franz.
ok désolé pour le dernier message,en fait c'est la première fois que je pose une question dans un forum et honnêtement je n'ai pas consulté l'article du règlement.Malheureusement, je me suis habitué à utiliser ce langage , mais quand même c'est pas une raison pour rédiger de cette façon...veuillez m'excusez encore et voilà mon message reformulé :
bonjour ,
j'ai eu des problèmes lors de l'exécution de ce programme main:
#include<stdio.h>
#include"somme.h"
#include"produit.h"
main (int argc, char *argv[ ])
{
int a;
if(argv[1]==1)
{ a=somme(argv[2],argv[3]);
printf("operation somme demandée le resultat est %d ",a);
}
else if(argv[1]==2)
{ a=produit(argv[2],argv[3]);
printf("operation produit demandée le resultat est %d",a);
}
else
printf("erreur");
}
message d'erreur affiché:
main.c:4: error: stray '\302' in program
main.c:4: error: stray '\240' in program
merci d'avance pour votre aide
bonjour ,
j'ai eu des problèmes lors de l'exécution de ce programme main:
#include<stdio.h>
#include"somme.h"
#include"produit.h"
main (int argc, char *argv[ ])
{
int a;
if(argv[1]==1)
{ a=somme(argv[2],argv[3]);
printf("operation somme demandée le resultat est %d ",a);
}
else if(argv[1]==2)
{ a=produit(argv[2],argv[3]);
printf("operation produit demandée le resultat est %d",a);
}
else
printf("erreur");
}
message d'erreur affiché:
main.c:4: error: stray '\302' in program
main.c:4: error: stray '\240' in program
merci d'avance pour votre aide
Salut,
Tu devrais utiliser le type int pour main
Je vois dans ton code que tu comparres une chaîne de caractère avec un integer.
Mes ces erreurs ne viennent pas de là.
Je pense qu'il y a des caractères non imprimables dans ton code
Affiche le résultat de
Tu devrais utiliser le type int pour main
Je vois dans ton code que tu comparres une chaîne de caractère avec un integer.
Mes ces erreurs ne viennent pas de là.
Je pense qu'il y a des caractères non imprimables dans ton code
Affiche le résultat de
perl -pe 's/(.)/"$1=" . ord($1)/eg' ton_fichier.c
Salut,
Merci bien pour ta réponse ,en fait ta remarque est très importante; on ne peut pas comparer un caractère à un entier.J'ai trouvé 90% de la solution et j'ai utilisé la fonction"atoi" de<stdlib.h> permettant de convertir un caractère à un entier.Mais toujours le même message s'affiche :
main.c:5: error: stray '\302' in program
Donc je pense qu'il s'agit d'un problème de compilation (ligne 5)
#include<stdio.h>
#include<stdlib.h>
#include"somme.h"
#include"produit.h"
void main (int argc, char*argv[])
{
int a;
char* arg1,arg2,arg3;
arg1=argv[1];
arg2=argv[2];
arg3=argv[3];
if(atoi(arg1)==1)
{ a=somme(atoi(arg2),atoi(arg3));
printf("operation somme demandée le resultat est %d ",a);
}
else if (atoi(arg1)==2)
{ a=produit(atoi(arg2),atoi(arg3));
printf("operation produit demandée le resultat est %d",a);
}
else
printf("erreur");
}
Et je veux comprendre cette ligne de commande s'il vous plait
perl -pe 's/(.)/"$1=" . ord($1)/eg' ton_fichier.c
Merci bien pour votre aide
Merci bien pour ta réponse ,en fait ta remarque est très importante; on ne peut pas comparer un caractère à un entier.J'ai trouvé 90% de la solution et j'ai utilisé la fonction"atoi" de<stdlib.h> permettant de convertir un caractère à un entier.Mais toujours le même message s'affiche :
main.c:5: error: stray '\302' in program
Donc je pense qu'il s'agit d'un problème de compilation (ligne 5)
#include<stdio.h>
#include<stdlib.h>
#include"somme.h"
#include"produit.h"
void main (int argc, char*argv[])
{
int a;
char* arg1,arg2,arg3;
arg1=argv[1];
arg2=argv[2];
arg3=argv[3];
if(atoi(arg1)==1)
{ a=somme(atoi(arg2),atoi(arg3));
printf("operation somme demandée le resultat est %d ",a);
}
else if (atoi(arg1)==2)
{ a=produit(atoi(arg2),atoi(arg3));
printf("operation produit demandée le resultat est %d",a);
}
else
printf("erreur");
}
Et je veux comprendre cette ligne de commande s'il vous plait
perl -pe 's/(.)/"$1=" . ord($1)/eg' ton_fichier.c
Merci bien pour votre aide
Bonjour,
Une autre commande (Linux) permettant d'afficher les caractères non-imprimables , cause de ton problème ici, est "od -c MON_FICHIER".
La sortie de cette commande n'est pas très lisible, mais tu verras exactement les caractères que contient ton fichier, et tu te rendras compte qu'il contient les fameux caractères \302 et \240, qui ne sont pas imprimables, n'apparaissent donc pas à l'écran, mais te pourrissent ta syntaxe et t'empêchent de compiler.
M'est avis que tu vas trouver ces caractères juste après le crochet ouvrant de la ligne 4 "argv[ ". En effet, ces caractères sont insérés par la combinaison de touche [AltGr] + Espace. Donc si tu n'as pas relâché la touche [AltGr] au moment où tu as inséré l'espace entre les deux crochets à la ligne 4, tu auras inséré ces ennuyeux caractères invisibles.
Solution = effacer la ligne, et la réécrire en faisant bien attention à ce problème (pas de copier-coller, qui copie-collera ces caractères, et ne résoudra donc rien).
Une autre commande (Linux) permettant d'afficher les caractères non-imprimables , cause de ton problème ici, est "od -c MON_FICHIER".
La sortie de cette commande n'est pas très lisible, mais tu verras exactement les caractères que contient ton fichier, et tu te rendras compte qu'il contient les fameux caractères \302 et \240, qui ne sont pas imprimables, n'apparaissent donc pas à l'écran, mais te pourrissent ta syntaxe et t'empêchent de compiler.
M'est avis que tu vas trouver ces caractères juste après le crochet ouvrant de la ligne 4 "argv[ ". En effet, ces caractères sont insérés par la combinaison de touche [AltGr] + Espace. Donc si tu n'as pas relâché la touche [AltGr] au moment où tu as inséré l'espace entre les deux crochets à la ligne 4, tu auras inséré ces ennuyeux caractères invisibles.
Solution = effacer la ligne, et la réécrire en faisant bien attention à ce problème (pas de copier-coller, qui copie-collera ces caractères, et ne résoudra donc rien).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question