J'ai une question avec sscanf fonction C.sscanf pas d'espace de travail de stdin
Mon programme
#include <stdio.h>
#include <stdlib.h>
int main(){
char str[50];
int y=0, x=0;
printf("Insert string: ");
scanf("%s", str);
sscanf(str, "%d %d", &x, &y);
printf("x:%d y:%d\n",x,y);
return 0;
}
Entrée
10 20
Sortie
x:10 y:0
J'ai aussi essayé
sscanf(str, "%d%d", &x, &y);
et
sscanf(str, "%d%*[ \n\t]%d", &x, &y);
mais la sortie est le même.
La chose étrange est que lorsque je tente
#include <stdio.h>
#include <stdlib.h>
int main(){
char str[] = "10 20";
int y=0, x=0;
sscanf(str, "%d %d", &x, &y);
printf("x:%d y:%d\n",x,y);
return 0;
}
ma sortie est x:10 y:20
si vous la sortie de votre 'str' après la' scanf ("% s", str) ', vous trouverez le poblem. – WhatsUp
'% s' arrête de lire l'entrée au premier caractère d'espace. –