J’écris un code simple pour faire mes devoirs. Je reçois un numéro de l’utilisateur, qui est 3,4, quand je le définis avec
scanf("%d",&a)
il ne faut que 3 et le faire de cette façon. J’ai défini a
comme
int a;
Que devrais-je faire?
Utilisez float
float a; scanf("%f", &a);
Je pense que vous êtes très nouveau en programmation c. C’est un travail très simple. Cela peut être fait comme: –
float a; // to input a data in the variable a scanf("%f",&a); //to display the stored data printf("%f\n",a); //or printf("%.nf\n",a);//specify value of n //maximum value of n is 6 also is its default value //for eg printf("%.2f",a); will display decimal number upto two digits after the decimal place //you can know more about displaying data as %d: decimal value (int) %c: character (char) %s: ssortingng (const char *) %u: unsigned decimal value (unsigned int) %ld: long int (long) %f: float value (float or double) %x: decimal value in Hexadecimal format %o: decimal value in octal format
Pour la liste des spécifications de formatage disponibles ici
% d est pour int. 3.4 n’est pas un type int, vous pouvez utiliser float.
float x; scanf("%f", &x);
Pour des informations détaillées sur les types de données, vous pouvez vérifier ici: http://en.wikipedia.org/wiki/C_data_types
Et aussi ici: http://www.techonthenet.com/c_language/variables/index.php
Vous devez définir a
comme
float a;
et remplacez %d
par %f
dans scanf
scanf("%f", &a);
Que devrais-je faire?
Lire les bases de l’entrée / sortie formatée en C.
C’est très simple pour la variable int, nous utilisons le spécificateur de format% d et, si nous voulons une valeur flottante, nous utilisons le spécificateur de format% f. Parce que, selon IEEE, les formats bitmap flo et int sont différents.
Vous déclarez int a qui ne peut prendre qu’une valeur entière, vous devez donc le faire flotter, ce qui est utilisé pour les nombres ayant un point décimal.
flotter un; scanf (% f, & a);