Langage c

zouheirpo -  
fiddy Messages postés 441 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
Configuration: Windows XP Internet Explorer 7.0

2 réponses

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