Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 14:40

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C++] Komisches Verhalten

Discussion on [C++] Komisches Verhalten within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
black0utCpp's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 381
Received Thanks: 210
[C++] Komisches Verhalten

Ich wollte mal schauen was passiert wenn man ein Array zu einem Integer Castet habe das innerhalb eines "keygens" gemacht und bin verwirrt!Wenn ich den Array zu einem Integer caste kommt bei jedem Durchlauf ein anderer Wert raus warum ? Und vorallem was passiert wenn ich einen array caste wird immer nur das erste Element (also userid[0] ) behandelt oder wie kann ich mir das vorstellen ?

Hier der Source Code :

Code:
#include <windows.h>
#include <iostream>


#define SUCESS 0

using namespace std;




int main(void) //lazy 
{

 int part1 , part2 ,part3; // wenn ich die lösche kommt keine Ausgabe (?)
 int  userid []={ 123456 };

 
 cout<<"Your UserId is ?\n";
 cout<<"Userid is set to 123456\n";
 getchar();

 cout<<"Start calcuating you Key!\n";
 getchar();

 userid[0];//<- Set UserId to 0

 //Berrechnung

 for(int i=5 ;i>userid[i];i++)
 {
 userid[i]=(int)userid/238;//anstatt userid[i] = userid[i]/238 was passiert hier 
 cout<<userid[i]<<"-";

}

 //End




system("pause");// schlecht ich weiß 

return SUCESS;
}
Sorry falls die Frage zu dumm ist ich komm einfach nicht dahinter .
black0utCpp is offline  
Old 12/05/2010, 11:54   #2
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by black0utCpp View Post
Ich wollte mal schauen was passiert wenn man ein Array zu einem Integer Castet habe das innerhalb eines "keygens" gemacht und bin verwirrt!Wenn ich den Array zu einem Integer caste kommt bei jedem Durchlauf ein anderer Wert raus warum ? Und vorallem was passiert wenn ich einen array caste wird immer nur das erste Element (also userid[0] ) behandelt oder wie kann ich mir das vorstellen ?

Hier der Source Code :

Code:
#include <windows.h>
#include <iostream>


#define SUCESS 0

using namespace std;




int main(void) //lazy 
{

 int part1 , part2 ,part3; // wenn ich die lösche kommt keine Ausgabe (?)
 int  userid []={ 123456 };

 
 cout<<"Your UserId is ?\n";
 cout<<"Userid is set to 123456\n";
 getchar();

 cout<<"Start calcuating you Key!\n";
 getchar();

 userid[0];//<- Set UserId to 0

 //Berrechnung

 for(int i=5 ;i>userid[i];i++)
 {
 userid[i]=(int)userid/238;//anstatt userid[i] = userid[i]/238 was passiert hier 
 cout<<userid[i]<<"-";

}

 //End




system("pause");// schlecht ich weiß 

return SUCESS;
}
Sorry falls die Frage zu dumm ist ich komm einfach nicht dahinter .
Wenn ich mich nicht irre rechnest du an dieser Stelle:
PHP Code:
userid[i]=(int)userid/238
mit der Adresse an der das Array anfängt weiter.
Außerdem hat userid[] eine größe von 1:
PHP Code:
 int  userid []={ 123456 }; 
Das ganze kann also nur zu einem "komischem" Verhalten führen.
Shadow992 is offline  
Thanks
1 User
Old 12/05/2010, 12:00   #3
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
Code:
userid[0];//<- Set UserId to 0
Kommt nur mir das komisch vor? o.o
MoepMeep is offline  
Old 12/05/2010, 15:11   #4
 
black0utCpp's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 381
Received Thanks: 210
Quote:
Originally Posted by MoepMeep View Post
Code:
userid[0];//<- Set UserId to 0
Kommt nur mir das komisch vor? o.o
Wollt schauen ob sich damit das verhalten verändert.
Mit Set UserId to 0 wollt ich sicher sein das in der for schleife alles klar ist.
Mir ist klar , dass das ziemlich unsinnig ist aber in meiner Verzweiflung


Edit : aber warum kommt keine Ausgaben wenn ich die Integer Vars part1 part2.. .lösche?
black0utCpp is offline  
Old 12/05/2010, 15:42   #5
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
btw
Code:
for(int i=5 ;i>userid[i];i++)
Soll die Schleife so sein? ^^
MoepMeep is offline  
Old 12/05/2010, 15:48   #6
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by black0utCpp View Post
Wollt schauen ob sich damit das verhalten verändert.
Mit Set UserId to 0 wollt ich sicher sein das in der for schleife alles klar ist.
Mir ist klar , dass das ziemlich unsinnig ist aber in meiner Verzweiflung


Edit : aber warum kommt keine Ausgaben wenn ich die Integer Vars part1 part2.. .lösche?
Ich sagte dir doch bereits alles.
Diese beiden Zeilen:
PHP Code:
int  userid []={ 123456 }; 
und
PHP Code:
userid[i]=(int)userid/238
Sind schuld an dem undefinierten verhalten.
Du initialisierst userid als Integer-Array mit der Größe 1 anschließend
hast du eine Schleife, die aber bereits bei 5 anfängt.
Das ganze kann nichts werden, du greifst damit auf einen Speicherbereich zu, der deinem Programm garnicht gehört.
Es ist also kein Wunder, dass dein Programm ein undefiniertes Verhalten an den Tag legt.
Du hast Glück, dass das Programm nicht abstürtzt, sondern eben nur nichts mehr ausgibt.

Wenn du ganz viel Pech hast könnte das sogar zu einem Systemabsturtz führen (ist wohl eher selten der Fall, da Windows das im Normalfall dann erkennt und bereinigt).
Shadow992 is offline  
Thanks
1 User
Old 12/05/2010, 18:48   #7
 
black0utCpp's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 381
Received Thanks: 210
Oh man was ein Denkfehler hatte eine lange Pause naja danke Leute
black0utCpp is offline  
Reply


Similar Threads Similar Threads
Sorry :DD Für mein Verhalten
09/26/2010 - WarRock - 6 Replies
Also wollte mich entschuldigen ..wegen den "terror" threads ..auch wenn der jetzt unnötig ist...bin glaube schhon dem ein oder anderen auf die nerven gegangen . Werde mich in Zukunft an die Regeln halten und nur threads machen wenn sie auch nötig sind . Tut mir leid <3 :DD
[ Kiddlike verhalten ]
07/26/2010 - Metin2 Private Server - 63 Replies
Jaja ich lass jetzt mal meinen Senf an die Com hier raus- Ich hab vor einigen Wochen ne SQL Injection von World of Revenge gepostet. Im GUTEN Sinne. Die Admins wurden drauf hingewiesen das zu fixxen- Ich hab nichts an der DB verändert. Dümmlicher Weise tatn sie das nicht. Heute meinte irgendein **** der durch meinen Thread aufmerksam auf die Lücke gewurden ist, deren DB zu löschen. 80 % deletet , der Rest renamed in h6z irgendwas. Man was soll den sowas? Ihr plappert alle in anderen...
Verhalten bei Accountübernahme
07/11/2006 - World of Warcraft - 12 Replies
es ein Gm entdeckt ? Habe einen neuen Account, was mach ich jetzt das Blizzard mir den nich sperrt ? Muss doch die Daten des Accounts ändern, wie mach ich das das es nicht auffällt ? Danke schonmal an alle
Verhalten in Instanzen
03/18/2005 - WoW Guides & Templates - 4 Replies
Priest: - Pures Healing oder mit Damage austeilen...Je nach Gruppe und Heilkräften eine Frage - Shield: Casten bei Low HP oder wenn ein Caster Aggro bekommt - Ruhig eher heilen als bis zum Schluss warten - Erst sich buffen dann die anderen, so weiss man wer wann was braucht - Wenn Priest als Healer fungiert, keiner Gegner attacken da man sonst im Battle ist und im Notfall nicht ressurecten kann - Elite Mobs evaden nicht^^ - Bei geringen HP-Entzug eines Mitstreiters eher Renew casten...



All times are GMT +1. The time now is 14:41.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.