j'ai un probleme en c qui peut m'expliquer ce que fait cette instruction en rouge
int main(int argc, char *argv[ ]){
if (argc != 3)
printf ("Mauvais nombre d'arguments.\n");
printf("\nUsage: %s int int\n" argv[0]);
...........
...........
merci
personne pour m'aider?? svp c urgent :22:
olala je m'y connais pas en info desolee...mais tu aurais du poster ton post sur le topic special informatique je penses...
bonsoir dd1,
ou ça special informatique??
je crois que je risque pas d'avoir des reponse a une heure pareil :22:
bonsoir minen
int main(int argc, char *argv[ ]){
if (argc != 3)
printf ("Mauvais nombre d'arguments.\n");
printf("\nUsage: %s int int\n" argv[0]);
Cela veut dire que ton programme ne s'exécute que lorsque le nombre des arguments est de deux style:
programme.exe argument1 argument2
sinon il n'exécutera que les deux "printf" comprise dans le "IF"
"Mauvais nombre d'arguments."
"programme.exe int int"
argc est un entier qui compte le nombre de chaînes de caractères, séparées par un ou plusieurs blanc (espace ou tabulation), dans la ligne de commande. Le nom de la commande est donc inclu dans le compte de la variable argc. Une commande shell sans argument aura donc un argc = 1.
argv est un pointeur sur un tableau de pointeurs sur des chaînes de caractères, celles-ci correspondant à celles tapées sur le clavier. Chaque pointeur du tableau pointe sur le début des chaînes respectives. Le tableau est terminé par un pointeur nul indiquant qu'il n'y a plus d'arguments.
Bonsoir Minen,
en fait l'instruction en rouge decrit a l'utilisateur au cas ou ce dernier n'aurait pas utilise le nombre d'arguments requis, l'usage normal du programme en question.
Prenons un exemple: je ne connais pas le nom de ton programme, nous allons donc tout simplement l'appeler "prog". Apparemment, l'usage normal serait qu'il soit suivi de 2 entiers lors de son appel, mais supposons que l'utilisateur se trompe et le fasse suivre d'un seul entier:
prog 35
alors le nombre d'arguments seraient different de 3, et le programme affichera le message d'erreur suivant:
Mauvais nombre d'arguments.
Usage: prog int int
J'espere que j'ai ete clair. Si t'as d'autres questions, n'hesite pas, je ne vais pas me coucher de suite...
merci a vous voila le code
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int a, b;
if (argc != 3)
{
printf("\nErreur : nombre invalide d'arguments");
printf("\nUsage: %s int int\n",argv[0]);
return(EXIT_FAILURE);
}
a = atoi(argv[1]);
b = atoi(argv[2]);
printf("\nLe produit de %d par %d vaut : %d\n", a, b, a * b);
return(EXIT_SUCCESS);
}
lol, j'ai vu que Hakim m'a precede, je ne suis donc pas le seul informaticien insomniaque... ;)
free: merci et welcome :71:
hakim: merci :4:
je crois que j'ai compris c les int balancé au milieu qui m'ont ...... :sad:
Minen, tu as d'autres questions?
je sais que je suis embetante :redface:
argv[0] contiendra quoi???
Ben tu vois finalement tu as eu des reponses :) meme a cette heure ci lol ;)
argv[0]: contiendra le nom de ton programme exécutable
argv[1]: le 1er argument sous forme de chaine de caractère.
argv[2]: le 2ème argument sous forme de chaine de caractère.
L'instruction "atoi" permet de les convertir en "int"
merci merciiiiiiiiiiiiiiii :twark:
heu autre chose :redface:
la fonction atoi se trouve dans stdlib???
SVP que fait celle là??
int l_mini=(strlen(str1)<strlen(str2)?strlen(str1):strlen(str2))
@minen, salam
strlen: Calcul le nombre de caractères dans une chaine (c.à.d la longueur de la chaine de caractères) et renvois un entier.
int l_mini=(strlen(str1)<strlen(str2)?strlen(str1):strlen(str2))
Cette instruction est l'équivalente de celle-là:
if strlen(str1)<strlen(str2)
l_mini=strlen(str1)
else
l_mini=strlen(str2);
On cherche la longeur de chaine de caractères la plus courte.
merci pour tes reponses ;)
vBulletin® v.3.6.5, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Tous droits réservés - Version française vbulletin-fr.org