[C] Ecrire un caractère dans une chaine
calaceite
Messages postés
159
Date d'inscription
Statut
Membre
Dernière intervention
-
calaceite Messages postés 159 Date d'inscription Statut Membre Dernière intervention -
calaceite Messages postés 159 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Soit la chaîne déclarée par :
char *mot="lanrage";
La commande printf("%c",*(mot+3)); affiche le caractère 'r'. Pourtant si je veux changer ce 'r' en 'g', la commande suivante :
*(mot+3)='g';
ne marche pas. Pourquoi et comment faire ? Doit-on passer par strcpy ?
Merci.
Calaz
Soit la chaîne déclarée par :
char *mot="lanrage";
La commande printf("%c",*(mot+3)); affiche le caractère 'r'. Pourtant si je veux changer ce 'r' en 'g', la commande suivante :
*(mot+3)='g';
ne marche pas. Pourquoi et comment faire ? Doit-on passer par strcpy ?
Merci.
Calaz
A voir également:
- [C] Ecrire un caractère dans une chaine
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Ecrire en gras sur whatsapp - Guide
- Chaine tnt gratuite sur mobile - Guide
3 réponses
Tu trouveras une explication ici.
http://c.developpez.com/faq/c/?page=strings#STRINGS_string_init
En déclarant ainsi:
Pour ce que tu veux faire tu devrais utiliser:
http://c.developpez.com/faq/c/?page=strings#STRINGS_string_init
En déclarant ainsi:
char *mot="lanrage";tu fais pointer mot sur l'adresse du chaine de caractère constante.
Pour ce que tu veux faire tu devrais utiliser:
char mot[]="lanrage"