Newbie-Action



  • danke für den tipp mit void.

    Ich dachte vorher aber es muss %s heißen, da ich als erstes %c probierte, dieser aber, wenn ich z.b. zweimal "hallo" eingebe folgendes ausgibt:

    H + = \

    Bitte helft. Eldelio



  • das ist ganz klar warum:

    ein char ist ein einzelnes zeichen. du speicherst also schon mal keine zeichenkette, sondern nur ein einzelnes zeichen. es müsste vielmehr in der deklaration heissen (z.b.) char text1[50]; damit du ein char array der größe 50 hast.
    weiter unten dann der nächste "fehler" (in " weil es kein wirklicher fehler ist):
    mit text1 = text2 + text3; addierst du die (ascii) werte von text2 und 3 auf und speicherst in text1. wenn vorher in text2 ein 'A' war und in text3 ein 'B' dann steht in text1 jetzt das ascii zeichen zum wert 123 (A = 61, B = 62, glaub das stimmt) und das ist dann irgenwas mit / * oder so.

    merke: unterschied zwischen zeichen und zeichenkette 😃



  • "hallo" ungleich EIN ZEICHEN!
    wenn du nur ein Zeichen erwartest, werden nicht fünf gespeichert.

    du kannst durchaus mit %s arbeiten. Aber dann brauchst du auch ein
    string (Char-Array) und kein einzelner Char...

    also :
    char text1[1000]; /* maximal einzugebende Zeichen !!! */

    [EDIT]
    Da war einer schneller 🙂

    [ Dieser Beitrag wurde am 12.12.2002 um 22:00 Uhr von Solaris'dUKe editiert. ]



  • Und was soll ich jetzt dann machen?!

    Wie kann ich die jetzt addieren?
    muss ich zu den char variablen in der deklaration ein [50] zu jedem hinzufügen?

    Eldelio



  • oh cool, ne neue fehlermeldung:

    ha3.c: In function `main':
    ha3.c:17: invalid operands to binary +

    was ist etz?!

    Eldelio



  • hach diese newbies sind immer total süß 😃



  • ja ne... 😉

    Immer diese NEwbies...

    Dann hilf du mir, wenn dus kannst...
    Bitte!!!!!!!!!

    Eldelio



  • Kann dir auch nicht helfen, da ich zu faul bin dein Problem zu verstehen und zu beheben. :p
    Aber immer mit der Ruhe. Ist ja ne ganz einfache Sache. Hab ein bisschen Geduld, hilfe kommt gleich. 🙂 🙂 🙂 🙂





  • @Kingruedi:

    Und du meinst, das ist das richtige für einen Anfänger? 😕



  • Hi,

    also ich nehme mal an, dass du die beiden Strings aneinanderhaengen willst:

    String1: "hallo"
    String2: " welt"
    und String3 soll dann: "hallo welt" werden.

    Dafuer kannst du die strcat-Funktion nutzen:

    char   String1[25] = "hallo ";
    char   String2[25] = "welt"; 
    char   String3[50];
    
           strcpy ( String3, String1 ); /*String1 in String3 kopieren
                                          String3 jetzt -> "hallo "*/
           strcat ( String3, String2 ); /*String2 an String3 anhaengen
                                          String3 ist jetzt -> "hallo welt"*/
    
    printf ( "%s", String3 );
    

    Wenn du das mit Eingaben machen willst, musst du aufpassen, dass du nicht mehr
    Zeichen einliesst, als das Array aufnehmen kann, sonst schreibst du ueber den
    reservierten Speicher hinaus in irgendwelche Speicherstellen, die u. U. nicht
    dir gehoeren.

    mfg
    v R



  • Original erstellt von D1BAKEL:
    Und du meinst, das ist das richtige für einen Anfänger? 😕

    Vielleicht nicht wirklich, aber ich hatte keinen Link zu einem vernünftigen Tutorial.



  • schon okay... 🙄


Anmelden zum Antworten