Oui, c[i]=''
n'est pas un code valide. Nous parenthèses caractère constant entre '
'
par exemple c[i] = 'A';
char A
. mais vous n'écrivez pas de char entre les deux. ''
.
L'espace vide n'est rien d'autre que de supposer que si vous voulez attribuer de l'espace alors faites-le :
c[i] = ' ';
// ^ space
si vous voulez affecter nul char
alors faites-le :
c[i] = '\0';
// ^ null symbol
Exemple : Supposons que c[]
une chaîne de caractères (nul \0
tableau de chars terminés) si vous avez une chaîne de caractères. par exemple :
char c[10] = {'a', '2', 'c', '\0'};
Et vous remplacer le deuxième caractère par un espace :
c[1] = ' ';
et si vous l'imprimez en utilisant printf comme suit :
printf("\n c: %s", c);
alors la sortie serait :
c: a c
// ^ space printed
Et vous remplacer le deuxième caractère par ' \0 ' :
c[1] = '\0';
alors la sortie serait :
c: a
parce que la chaîne se termine par \0
.