Pourquoi cela ne fonctionne-t-il pas? Lorsque j'essaie d'utiliser -l ou -s comme premier argument, les instructions if ne prennent pas. Ils vont toujours à l'autre déclaration.C Les arguments ne fonctionnent pas?
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
if (argv[1] == "-l")
{
printf("Yay!\n");
}
else if (argv[1] == "-s")
{
printf("Nay!\n");
}
else
{
printf("%s\n", argv[1]);
}
return 0;
}
Comment essayez-vous de l'exécuter, et que se passe-t-il? –
Que voulez-vous dire par "ne fonctionne pas"? Quelle est l'entrée? Quelle est la sortie? –
Vous le savez peut-être déjà, mais vous devriez aussi vérifier si 'argc> 1' avant d'essayer' argv [1] '. –