WinFuture-Forum.de: C++ Verständnisproblem - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

C++ Verständnisproblem


#1 Mitglied ist offline   jkarts 

  • Gruppe: aktive Mitglieder
  • Beiträge: 77
  • Beigetreten: 03. Oktober 04
  • Reputation: 0

geschrieben 23. Februar 2005 - 17:10

#include "stdafx.h"

void Fkt4 (char* c, int x){
    int i;
    for(i=1; i<x; i++){
        cout << i << " c " << c << "\n";
        *c = *c-8;
        cout << i << " c " << c << "\n";
        c++;
        //c+=1;
        //c+=2;
        //c-=1;
        cout << i << " c " << *c << "\n";   

        cout << "-----------" << "\n";
    }
}

int _tmain(int argc, _TCHAR* argv[]){
    char Dat[][4]= {"ABC", "DEF", "KLM"};
    int y;
    for(y=1; y<3; y++){
        cout << y << " y " << Dat[y] << "\n";   
        cout << "-----------" << "\n";
           
        Fkt4(Dat[y], 3);       
        cout << y << " y " << Dat[y] << "\n";   
        cout << "-----------" << "\n";
       
    }
    system("pause");
    return 0;
}


Hier ein quelltext den ich nicht ganz verstehe:
In der Funktion Fkt4 wird mit c++ c erhöht, bei der ausgabe wird beim ersten Schleifendurchlauf nur noch F angezeigt. Was passiert bei c++ und warum wird nur noch ein Wert des char Arrays angezeigt?
0

Anzeige



#2 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 23. Februar 2005 - 21:55

y=1

Fkt4(Dat[y], 3); -> Fkt4(Char[] "EFKL",3)

i=1;
cout << i << " c " << c << "\n"; -> Ausgabe: irgendwas, vermutlich (Null)
*c = *c-8; -> irgendwas -> irgendwas
cout << i << " c " << c << "\n"; -> Ausgabe: irgendwas
c++; -> c zeigt jetzt auf F
cout << i << " c " << *c << "\n"; -> Ausgabe: F


Kurzum: Dein ganzes Programm ist Grütze. Du spielst mit Pointern, zählst Arrays nicht korrekt ab Index 0 beginnend, setzt die Größe des Arrays nicht richtig...
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#3 Mitglied ist offline   jkarts 

  • Gruppe: aktive Mitglieder
  • Beiträge: 77
  • Beigetreten: 03. Oktober 04
  • Reputation: 0

geschrieben 23. Februar 2005 - 23:16

:gähn:
Ist nicht von mir sondern von meinem Lehrer. Das soll helfen Pointer zu verstehen...
0

#4 Mitglied ist offline   mo 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.796
  • Beigetreten: 17. Juni 02
  • Reputation: 0
  • Wohnort:Ulm / BaWü

geschrieben 26. Februar 2005 - 07:27

Zitat (jkarts: 23.02.2005, 23:16)

;)
Ist nicht von mir sondern von meinem Lehrer. Das soll helfen Pointer zu verstehen...
<{POST_SNAPBACK}>

hihi, der war gut ^^

dass man variablennamen und funktionen nie mit großbuchstaben anfangen sollte gehört ja eigentlich "nur" zum guten stil, aber das, ich will mal sagen für lehrer typische "fallen" einbaun macht den code nicht verständlicher. warum "Dat" überhaubt mit ABC füttern, wenn nie drauf zugegriffen wird?
auch das inkrementieren von c, die ausgabe des inhalts an *c, abtrennzeichen und im nächsten durchlauf ausgabe von exakt dem selben is ja mal ziemlich hirnrissig.
besorg dir n gescheites buch, setz dich jede woche ne stunde damit vor n` rechner und penn während dem unterricht. ^^

edit: ohm, das prog muss doch in nem segfault enden oder? wenn nicht, wird die ausgabe sicher lustig ^^

Dieser Beitrag wurde von mo bearbeitet: 26. Februar 2005 - 07:29

I'm mó. mo's good twin.
0

#5 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 02. März 2005 - 21:18

wenn ich codezeilen wie die dort eben sehe wird mir schon wiieder schlecht.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0