Enoncés

Exo 1 :
Quel sont les effets respectifs des instuctions suivantes :
a) char s[20]={'\0'};
b) char s[20]={0};
c) char s[20]="";
Exo 2 :
Ecrire un programme qui demande à l'utilisateur d'entrer une chaîne de caractères et affiche alors la longueur de cette chaîne. (On rappelle qu'une chaîne de caractères se termine par \0).

Solutions
Exo 1 :
Dans les trois cas, tous les éléments du tableau sont initialisés à zéro. Que la valeur 0 soit exprimée par 0 ou \0 a peu d'importance car la valeur numérique, dans les deux cas est 0. Des problèmes pourraient survenir si le caractère nul '\0' n'était pas muni du rang 0 dans la table des codes.
Exo 2 :
#include <stdio.h>
void main()
{
char c[80];
char *p=c;
int longueur=0;
printf("Rentrez une chaine : ");
scanf("%s",c);
while ((*p)!='\0')
{
p++;
longueur++;
}
printf("La longueur de %s est %d.\n",c,longueur);
}