espaces char tableau en c

comment ajouter de l'espace entre les deux mots dans le tableau ,je reçois deux mots de l'utilisateur, son prénom ,son nom de famille ce que j'en ai besoin pour stocker les deux tableaux dans un tableau entre eux un espace

voici mon code

#include <stdio.h>
int main()
{
    char first_name[15], last_name[15] ,full_name[32];
    int i=0,i2,first_name_length,last_name_length;
    printf("enter your first name\n");
    first_name_length = scanf("%s",first_name);
    printf("enter your last name\n");
    last_name_length = scanf("%s",last_name);
    for(i2 = 0;i2 < first_name_length;i2++){
        full_name[i] = first_name[i2];
        i++;
    }
    full_name[i++]=' ';
    for(i2 = 0;i2 < last_name_length;i2++){
        full_name[i] = last_name[i2];
        i++;
    }
    printf("%s",full_name);
    return 0;
}

la sortie lorsque vous entrez dans la valeur de "nom" dans les deux scanf :

n n

et il devrait être :

name name

edit:

#include <stdio.h>
int main()
{
    char first_name[15], last_name[15] ,full_name[32];
    int i=0,i2;
    printf("enter your first name\n");
    scanf("%14s",first_name);
    printf("enter your last name\n");
    scanf("%14s",last_name);
    for(i2 = 0;first_name[i2];i2++){
        full_name[i] = first_name[i2];
        i++;
    }
    full_name[i++]=' ';
    for(i2 = 0;last_name[i2];i2++){
        full_name[i] = last_name[i2];
        i++;
    }
    printf("%s",full_name);
    return 0;
}

la sortie lorsque vous entrez dans la "tom" de la valeur dans le premier scanf et "renard" de la valeur dans la deuxième scanf :

tom fox↓@

et il devrait être :

tom fox
  • Votre first_name et last_name sont 15 car chaque et full_name est de 30. Si vous ajoutez un espace entre la longueur max prenom et la longueur maximale du nom, vous allez être en difficulté.
  • j'ai édité ma question ce qui est maintenant, il ne fonctionne pas trop, c'sortie seulement le prénom, mais le dernier nom n'est pas indiqué
  • Vous n'êtes pas d'incrémentation i après avoir défini l'espace, vous êtes l'incrémentation avant de la main.
  • j'ai édité ma question mais c'est encore sortie seulement le prénom, mais le dernier nom n'est pas indiqué
  • fox Pas bien de mettre à jour votre post dans la mode que vous ne. Recommander de revenir à la version précédente et ajouter du nouveau code, de données ou de connaissances.
  • Vous n'êtes pas nul de terminaison full_name. Ajouter full_name[i] = 0; droit avant de le printf, en dehors de la boucle for.

InformationsquelleAutor tom fox | 2015-02-26