Langage c

zouheirpo -  
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
j ai un program en c le voila;
#include <stdoi.h>
void main()
{
char t[]="etudient"
char *cq;
char *cp;
cp=& t[3];
...
..
plaise qlq peu m aidé aterminé ce program pour faire faire les operation suivantes:
affiche la derniere lette de la chaine de caractere
afficher la 5em lettre en en utilisant le pointeur cp
afficher toute la chaine de caractere
A voir également:

2 réponses

fiddy Messages postés 11653 Statut Contributeur 1 847
 
Salut,

Déjà, je te corrige ton programme :
#include <stdio.h>
int main(void)
{
char t[]="etudient";
char *cq;
char *cp;
cp=& t[3];
...

t est un tableau de 9 caractères. Et cp pointe sur le troisième caractère.
Donc cp[1] pointera sur 'i'. Donc si tu affiches puts(cp[1]), cela affichera "ient".
Je te laisse trouver les réponses par toi-même. On te corrigera ;-))).
0
zouheirpo Messages postés 24 Statut Membre
 
comm vous avez me dis qu il va afiché "ient" comment si le pointeur poite sur le 3em caractere il va affiché seulement "u"?
0
loupius
 
Exceptionnellement, fiddy a fait une erreur; il eût fallu qu'il mît: puts(&cp[1]); donc l'affichage de la chaîne commençant en 'cp+1' donne bien 'ient'.
En écrivant cp=&t[3];, 'cp' pointera sur le 4ème caractère de la chaîne 't' soit 'i' et non 'u'.
Bonne continuation.
0
fiddy Messages postés 11653 Statut Contributeur 1 847 > loupius
 
Heureusement que tu surveilles :p.
A noter une autre notation : puts(cp+1);
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
Cela dépend si tu affiches un caractères ou une chaîne.
Si tu mets un printf("%s",p); cela affichera jusqu'à la fin de la chaîne, si tu mets printf("%c",p), cela n'affichera qu'un caractère.
0