bool print_date(Date *d, char **argv) {
if (isdigit(*argv+1)) {
return printf("is d");
} else {
return printf("is not d");
}
}
La fonction ci-dessus ne fonctionne pas. * argv + 1 est l'entrée de l'utilisateur, est-ce une chaîne ou quels types en passant? Quelqu'un peut-il aider?Chiffre de contrôle de programmation C
int main(int argc, char *argv[])
{
Date d;
get_date(&d, argv);
}
Vous devez dire ce qui ne fonctionne pas pour vous. Cependant * argv est un char * (pointeur sur char), donc * argv + 1 est l'adresse du second caractère, pas le caractère lui-même. Vous avez peut-être voulu dire ** (argv + 1). –
Si vous n'êtes pas sûr de la précision, ** utilisez des parenthèses **. Plutôt que '* argv + 1' utiliser' (* argv) + 1' (ou même '& (argv [0] [1])') – pmg