Bonjour,

Mon code source ci-dessous (extrêmement simple) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
Le But du programme ci dessous est de demandé le nom et la taille de la personne.
On utilisera la fonction fgets() pour récupérer ses informations.
Cette méthode est toujours à privilégier car elle est sécurisé comparé à un scanf()
Regarder sur internet le prototype de la fonction fgets()
Pourquoi quand on dépasse le nombre max de caractere il n'y a pas d'erreur ?
*/
 
// BIBLIOTHEQUES :
//===================================================
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//===================================================
 
// FONCTION PRINCIPALE MAIN (POINT D'ENTREE DU PROGRAMME) :
//===================================================
int main(void)
{
	// DECLARATION DES VARIABLES :
	//===================================================
	char prenom[10];
	printf("Comment t'appelles tu ?\n");
 
	// 9 caracteres et pas 10 pour reserver le caractere fin de chaine = '\0'
	if ((fgets(prenom, 9, stdin)) != NULL)
		printf("Tu t'appelles : %s", prenom);
 
	else
		printf("Erreur de saisie\n");
 
 
	// ATTENTION fgets NE LIE QUE DES CARACTERES PAS DES NOMBRE !
	// Ainsi le symbole 1 n'est pas vu comme le chiffre 1 mais comme le caractère 1
	// Utiliser les fonctions de conversion string to double ou string to int ou encore string to long pour résoudre le problème
 
	char prix[10];
	printf("Quel est ton prix ?\n");
	if (fgets(prix, 9, stdin) != NULL)
		printf("Ton prix est : %g\n", strtod(prix, NULL));
 
	else
		printf("Erreur de saisie\n");
 
	return 0;
}
//===================================================
Lorsque je compile ce programme et que je dépasse la taille max de caractère (int maxLenght, voir le lien que je vous ai envoyé),
il n'y a pas d'erreur qui se déclenche et mon else ne sert à rien.

Je ne comprends pas pourquoi.
Avez vous une explication svp ?

Cordialement Zephyre