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);
}