Pourquoi ne puis-je lire la deuxième valeur de la ligne de commande en utilisant ce code, je suis en utilisant VS 2017 et ont 4 + 3 dans les arguments de commandevaleurs de lecture à partir des arguments de commande en C
#include <stdio.h>
int main(int argc, char *argv[])
{
float numberOne;
float numberTwo;
float theResult;
if (argc == 2)
{
sscanf(argv[1], "%f", &numberOne);
sscanf(argv[2], "%f", &numberTwo);
printf("%f \n", numberOne + numberTwo);
}
else
{
printf("invalid input");
}
sleep(10);
return(0);
}
Tout d'abord, si 'argc == 2' les indices valides sont' [0] 'et' [1] ', la valeur 2 dit combien il y a , pas l'indice le plus élevé. Et si vous entrez '4 + 3', sans espaces, je m'attendrais à tout cela dans' argv [1] '. –
Étant donné le format d'entrée, vous utilisez une chaîne de format inappropriée. Vous devriez également vérifier la valeur renvoyée par 'sscanf()'. –