Partage
  • Partager sur Facebook
  • Partager sur Twitter

pb avec sting input,

    22 mars 2018 à 23:30:54

    Bonjour,

    je ne comprends pas pourquoi je ne parviens pas à utiliser les charactères strings seul le premier caractère est présent dans la table.

    Est-ce une question de librairie. Je suppose que le code se place à la suite!!

    Je viens d'ajouter:

    #include <ctype.h>

    #include <string.h>

    #include <math.h>

    Cela n'a rien changé!!!

    Merci pour votre aide.

    test sur Code-Blocks

    #include <stdio.h>

    #include <stdlib.h>



    int main()

    {

        printf("Hello world!\n");

        char firstname[20];

        char crush[20];

        int numbersobabies;

        printf("What is your name? \n");

               scanf("%s", firstname);

               printf("Who are you going to marry? \n");

               scanf("%s", crush);

               printf("How many kids will you have? \n");

               scanf("%d",&numbersobabies);

               printf("%s and %s are in love");

    return 0;

    }

    -
    Edité par AlainRopers 23 mars 2018 à 11:02:44

    • Partager sur Facebook
    • Partager sur Twitter
      23 mars 2018 à 11:02:25

      Si tu avais utilisé le bouton code </> du forum, probablement que tu aurais déjà eu une réponse. 

      Pour ton problème :

                 printf("%s and %s are in love");

      Tu as mis les spécificateurs de format, mais pas les variables à afficher.

      • Partager sur Facebook
      • Partager sur Twitter
        24 mars 2018 à 11:55:18

        Bonjour,

        Merci pour ton aide, oui c'est une grossière erreur de débutant.

        Pour l'instant je ne  trouve pas la solution pour rentrer une chaine de caractères dans une adresse de string à partir du keybord en utilisant

        scanf ou gets, et avec pointeur ou nom!!

        J'ai bien compris que le nom du string est un pointeur (une constante) qui permet seulement d'atteindre le premier caractère et les suivants par son indexation.

        Merci pour tes conseils, a oui je vois le bouton code dont tu parles </>? ce sera pour la prochaine fois.

        Alain Ropers

        • Partager sur Facebook
        • Partager sur Twitter
          24 mars 2018 à 14:13:57

          Tu l'as bien fait correctement dans ton code avec scanf ! Ou alors je n'ai pas compris ta question !

          string ? en C on dit plutôt chaîne de caractères, ce sont des tableaux de char avec la particularité d'avoir un caractère de fin de chaîne '\0', si on parle de la même chose.

          • Partager sur Facebook
          • Partager sur Twitter
            24 mars 2018 à 17:46:01

            C'est la première fois que je dialogue au travers d'un forum, cet Internet est incroyable par sa facilité qu'il offre à créer des relations et c'est surprenant et réconfortant de trouver des bénévoles prêts à écouter les autres et à chercher à les aider. Encore merci.

            Bon cette fois j'ai planté le System avec mon dernier test. 

            Ok cette fois c'est bon j'ai trouvé je mettais %s au lieu de %c

            Bon Weekend, enfin ce qu'il en reste. 

            • Partager sur Facebook
            • Partager sur Twitter
              25 mars 2018 à 19:28:05

              Bonjour, c'est encore moi, sur le même sujet!!

              Comment expliquer que dans le premier cas je sais exploiter les caractères de la chaine et pas dans le second cas quand la chaine est entrée par clavier?

              #include <stdio.h>
              #include <stdlib.h>
              
              int main()
              {
                  char *pc;
                  pc="ABC";
                  printf("the string is : %s\n",pc);
                  printf("%c char1: %c char2: %c char3:\n ", pc[0], pc[1], pc[2]);
              
                  char c[20];
                  printf("Enter a string\n");
                  scanf("%s",c);
                  printf("the string is: %s\n",c);
                  getch();
                  printf("%s char1: %s char2: %s char3:\n ", c[0], c[1], c[2]);
                  return 0;
              }
              



              • Partager sur Facebook
              • Partager sur Twitter
                25 mars 2018 à 19:51:39

                Hello,

                Compare ta ligne 9 et ta ligne 16.... ;)

                • Partager sur Facebook
                • Partager sur Twitter

                On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                pb avec sting input,

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown