Leerzeichen im char array in c

wie fügen Sie ein Leerzeichen zwischen zwei Wörter im array ,erhalte ich zwei Wörter aus der Nutzer seinen Vornamen ,seinen Nachnamen, was ich brauche, es zu speichern, die zwei arrays in einem array zwischen Ihnen einen Raum

hier ist mein 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;
}

den Ausgang, wenn geben Sie die "name" - Wert in den beiden scanf :

n n

sein und es sollte :

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;
}

den Ausgang, wenn geben Sie den "tom" - Wert in der ersten scanf und "fox" - Wert in der zweiten scanf :

tom fox↓@

sein und es sollte :

tom fox
  • Ihre first_name und last_name sind 15 char und jede full_name 30. Wenn Sie fügen Sie ein Leerzeichen zwischen einem max Länge first_name und max Länge last_name, wirst du in Schwierigkeiten sein.
  • ich bearbeitet meine Frage was ist nun es funktioniert nicht, auch die Ausgabe nur der erste name, aber der Nachname nicht angezeigt
  • Sie sind sich nicht Inkrementieren i nachdem Sie den Raum, du bist die Inkrementierung vor der hand.
  • ich bearbeitet meine Frage, aber es immer noch die Ausgabe nur der erste name, aber der Nachname nicht angezeigt
  • fox Nicht gut ist, aktualisieren Sie Ihre post in der Mode die Sie haben. Empfehlen zurücksetzen auf die Vorherige version und Anhängen neue code -, Daten-oder Einsichten.
  • Sie sind nicht nul beenden full_name. Hinzufügen full_name[i] = 0; rechts vor dem printf, außerhalb der for-Schleife.

InformationsquelleAutor tom fox | 2015-02-26
Schreibe einen Kommentar