Langage c

zouheirpo -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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 16 Date d'inscription   Statut Membre Dernière intervention  
 
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 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > loupius
 
Heureusement que tu surveilles :p.
A noter une autre notation : puts(cp+1);
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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