Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

c# und c++ rechnen anders?

Diskussion: c# und c++ rechnen anders? im Forum Code Kitchen, in der Kategorie Software Home; Anzeige hallo leute, habe mich gerade hier angemeldet weil mich ein problem ziemlich fuchst bzw. ich nun auch beim kontrollieren ...

Like Tree3Likes
  • 3 Post By CDW

Antwort
Alt 05.12.11, 16:33   #1 (permalink)
 
Registriert seit: 05.12.11
matahari Leistung: Facit NTK
Likes: 0
Standard c# und c++ rechnen anders?

Anzeige

hallo leute,

habe mich gerade hier angemeldet weil mich ein problem ziemlich fuchst bzw. ich nun auch beim kontrollieren zwei ergebnisse bekomme. da ich normal nur still mitlese, bin ich mir sicher das ihr mir das locker erklären könnt.

folgende aufgabe:

int i = 1;

i += i++ + ++1;

--
ich arbeite mit c# und für mich war, als ich mir das kurz im kopf überschlagen habe, die einzige lösung: 5;
wir wissen alle - kontrolle ist besser:
int i = 1;
i += i++ + ++i;
Console.WriteLine("I : " + i);
Console.ReadLine();

.... Ergebnis: 5;

nun aber das für mich (kenne mich mit c++ nicht gut aus) komische.
wenn ich das ganze in c++ ausführe, erhalte ich 7.

int i = 1;
i += i++ + ++i;
cout << i << "\n";
system("pause");
return EXIT_SUCCESS;

macht wenn man mit dem i++ anfängt auch sinn... aber wie kann es sein, dass hier zwei verschiedene ergebnisse ausgegeben werden? ich dachte immer, c# baut teilweise auf c++ auf... bzw. warum wird hier anders gerechnet? wäre schön wenn mich jemand erleuchtet...ich schlag sonst noch den kopf aufn tisch!

wären die zwei sprachen von unterschiedlichen firmen entwickelt worden, könnt ich mir das ja noch erklären, aber so?

matahari ist offline   Mit Zitat antworten
Alt 05.12.11, 16:58   #2 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Die Antwort ist ganz einfach - es ist undefiniert (DAS, und nicht etwa die arachaisch anmutende manuelle Speicherverwaltung, ist einer der Gründe für die "Missgunst" der Sprache bei so einigen Leuten )
Stroustrup: C++ Style and Technique FAQ
Stroustrup: C++ Style and Technique FAQ
Zitat:
Code:
		int j = ++i + i++;	// value of j unspecified
		f(out1(),out2());	// prints 12 or 21
	}
The value of j is unspecified to allow compilers to produce optimal code. It is claimed that the difference between what can be produced giving the compiler this freedom and requiring "ordinary left-to-right evaluation" can be significant. I'm unconvinced, but with innumerable compilers "out there" taking advantage of the freedom and some people passionately defending that freedom, a change would be difficult and could take decades to penetrate to the distant corners of the C and C++ worlds. I am disappointed that not all compilers warn against code such as ++i+i++. Similarly, the order of evaluation of arguments is unspecified. IMO far too many "things" are left undefined, unspecified, implementation-defined, etc. However, that's easy to say and even to give examples of, but hard to fix. It should also be noted that it is not all that difficult to avoid most of the problems and produce portable code.
sTEk, Tarantoga and enkore like this.
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » c# und c++ rechnen anders?
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
C++ Rechnen mit Variablen xpecs Code Kitchen 2 25.05.10 09:47
rechnen mit php und sql Catarrer (Web-) Design und webbasierte Sprachen 6 06.09.08 12:09
Mit wieviel kann ich für den PC rechnen? nonpretium Kaufberatung 6 28.02.07 12:14
Rechnen mit Formulartdaten ? Franzl (Web-) Design und webbasierte Sprachen 2 23.01.06 07:05
vernetztes Rechnen (alá SETI) Scrat Windows 2 12.07.04 11:13


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61