Ce programme simule le fonctionnement de strlen() (qui étant donné une chaine de caractère elle retourne sa longueur)

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
#include<stdio.h>
#define N 100
 
main()
{
	char c,ch[N];
	int i;
 
	printf("donner la chaine de caractères : ");
	gets(ch);
 
	i=0;
	c=ch[i];
 
	while (c!='\0') {i++;}
	i--;
	printf("La longueur de la chaine de caracteres est %d",i);
 
	return 0;
}
Je ne comprends pas pourquoi une fois exécuté il se comporte comme si la boucle est infini !