Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Ausdrücke

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
29.07.2003, 13:22 Uhr
~lento
Gast


Hi,
Ich schreibe demnächste eine Klausur in C und habe noch einige schwierigkeiten vielleicht könnt ihr mir helfen das zu verstehen.
Folgende Aufgabe:
Gegeben seinen folgende Variablen

C++:
int x;
unsigned int u;
longint s;
float f;
char *p1;
longint *p2;
void *p3,*p4;


Bestimmen sie für die folgenden Ausdrücke den Typ gemäß ANSI-C, Vorsicht es komm logisch falsche und fehlerhafet Ausdrücke vor.

C++:
p2[*p2]
s || x || p1
s | x | p1
p1 ? x : f
p1 == p3
p3 == p4
x=p3==p4
x==p3==p4
1 + ~p2
p1 && p3
x += f
!!! p3
!!! s
~~~s
0x23+p1+0x23




Bearbeitung von loddab:
Tags gesetzt

Dieser Post wurde am 29.07.2003 um 13:32 Uhr von Loddab editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.07.2003, 14:21 Uhr
virtual
Sexiest Bit alive
(Operator)


Deine Vorschläge? Ich diskutiere gern. Mache aber weniger gerne deine Hausaufgaben.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.07.2003, 14:47 Uhr
~lento
Gast


p2[*p2] longint
s || x || p1 longint
s | x | p1 geht nicht
p1 ? x : f unlogisch
++f,x-- int
p1 == p3 int
p3 == p4 int
x=p3==p4 int
x==p3==p4 geht nicht
1 + ~p2 geht nicht
p1 && p3 int
x += f int
!!! p3 int
!!! s longint
~~~s longint
0x23+p1+0x23 int

hab das mit einem kumpel gemacht der auch schreiben muss aber wir ham da leider nicht so viel ahnung wie gesagt wir wollen das gerne lernen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.07.2003, 18:38 Uhr
0xdeadbeef
Gott
(Operator)


Au weia, da haste ja echt ne kranke Aufgabe. Um dir ein bisschen die Angst zu nehmen: Es ist gut, sowas zu kennen, aber du brauchst es im wirklichen Leben fast nie. Ich weiß grad auch nicht alle aus dem Stegreif, aber hier ist, was ich denke:

C++:
p2[*p2]  //--- long, klar.
s || x || p1 //--- bool, also int. bool und int sind in C das gleiche
s | x | p1 //geht nicht, weil pointer verodern nicht ist.
p1 ? x : f  //float, weil float präziser ist als int. Da bin ich aber nicht sicher.
p1 == p3  //bool, also int
p3 == p4  //bool, also int
x=p3==p4  //int, die Zuweisung wird zuletzt ausgewertet.
x==p3==p4  //Das geht zwar, ist aber extrem selten sinnvoll. Gibt bool.
        //true, wenn (p3 == p4 und x == 1) oder (p3 != p4 und x == 0)
1 + ~p2  //geht nicht, pointer binär komplimentieren ist nicht drin
p1 && p3 //bool, also int
x += f  //int. f wird nach dem Komma abgeschnitten und auf x draufgezählt
!!! p3 //bool, also int
!!! s  //bool, also int
~~~s  //long
0x23+p1+0x23 //Ich glaube, char*, aber sicher bin ich nicht.


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
29.07.2003, 19:36 Uhr
virtual
Sexiest Bit alive
(Operator)


Nur um Unsicherheiten auszuräumen:


Zitat:
0xdeadbeef postete

C++:
...
p1 ? x : f  //float, weil float präziser ist als int. Da bin ich aber nicht sicher.
...
0x23+p1+0x23 //Ich glaube, char*, aber sicher bin ich nicht.



Beides korrekt

--Sorry, dass ich diesen Post editiere, aber ohne [ sah alles schrecklich aus! Pablo--
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 29.07.2003 um 19:41 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
30.07.2003, 14:09 Uhr
~lento
Gast


jo vielen dank, da hab ich aber noch gut ein paar schnitzer drine, aber ich hab noch mehr so aufgaben, kann gut sein das ich euch noch mal befragen werde.
Aber noch mal vielen dank.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.08.2003, 12:46 Uhr
~VCler
Gast


p1 ? x : f //ist eindeutig bool!!!

Ist ja ein arithmetischer Ausdruck!

lg gü
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.08.2003, 12:47 Uhr
~VCler
Gast


korrektur an mir selbst!!!

Ist ja KEIN arithmetischer Ausdruck!




Zitat:
~VCler postete
p1 ? x : f //ist eindeutig bool!!!

Ist ja ein arithmetischer Ausdruck!

lg gü



korrektur an mir selbst!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
01.08.2003, 13:13 Uhr
Tommix




Zitat:
~VCler postete
p1 ? x : f //ist eindeutig bool!!!
lg gü



Nie und nimmer, zurückgegeben wird ja entweder x oder f. 0xdeadbeef und virtual haben Recht!

Gruss Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
01.08.2003, 13:22 Uhr
ao

(Operator)



Zitat:
~VCler postete
p1 ? x : f //ist eindeutig bool!!!


Stimmt nicht. Der Ausdruck hat den Wert: "Wenn (p1 != 0) dann x sonst f". Da x int und f float ist, wird insgesamt ein float draus.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: