char() || (char)
-
Hallo,
was ist der Unterschied zwischenchar(a)
und
(char)a
und was passiert, wenn ich vor
signed int(Width)
ein Minus setze?:
-(signed int(Width))
Danke
-
0wnzz schrieb:
Hallo,
was ist der Unterschied zwischenchar(a)
und
(char)a
Die erste Form ist ungültig, die zweite Form ist ein Cast (explizite Umwandlung).
-
warum ist die erste form nicht zulässt???
Kann ich nicht so eine neue variable anlegen und sie damit initialisieren???ich kann doch auch schreiben
char(65);
und es kommt ein A hinten raus.
-
0wnzz schrieb:
Hallo,
und was passiert, wenn ich vor
signed int(Width)
ein Minus setze?:
-(signed int(Width))
Danke
signed int ist dasselbe wie int (also positive und negative Zahlen möglich.)
aber wozu und wieso willst du ein Minuszeichen davor setzen ??
Dann bekommst du einen Fehler.
Wenn du aus der Zahl eine Minuszahl machen willst probiers mal so:
wert *= -1;
(Ist dasselbe wie Wert = Wert * -1)
-
Danke, für die schnellen Antworten ^^
Aber leider weiß ich immer noch nicht so recht, was der Unterschied zwischen
int(a)
und
(int)a
ist
-
paindelux schrieb:
ich kann doch auch schreiben
char(65);
und es kommt ein A hinten raus.
Das stimmt nicht. C kennt sowas nicht.
#include <stdio.h> int main(void) { int a; a = int(8); printf("%d\n", a); return 0; }
erzeugt
a.c: In function 'main': a.c:5: error: expected expression before 'int'
---
(int) a;
ist eine Typumwandlung (cast auf Englisch), siehe http://de.wikipedia.org/wiki/Typumwandlung
-
paindelux schrieb:
ich kann doch auch schreiben
char(65);
und es kommt ein A hinten raus.
in was für 'ner sprache? sieht aus wie irgend so'n BASIC dialekt x = char$(65)
c ist das definitiv nicht.
-
Ich hätte behaupt das ist C. aber in dem fall ist das wohl erst mit c++ gekommen.
-
paindelux schrieb:
Ich hätte behaupt das ist C. aber in dem fall ist das wohl erst mit c++ gekommen.
ach so, bäh, eine ziemlich scheussliche programmiersprache...na dann wundert mich garnix mehr. ich hab mal was in c++ mit eckigen klammern gesehen, wobei das kein array-index war. c++ ist einfach nur foo-bar.
-
C Fan schrieb:
ich hab mal was in c++ mit eckigen klammern gesehen, wobei das kein array-index war.
Ohne dich schockkieren zu wollen, aber folgendes ist (auch) in C legal.
int arr[] = { 10, 20, 30, 40, 50 }; int foo = 3[arr];
Und spar dir deine gekünstelten C++-Flames, das ist nur noch peinlich.
-
Was ergibt das denn? o.o
Aber das hier funktioniert doch auch:
canvas.bmiHeader.biHeight = -(signed int(ScreenHeight));
da steht__ signed int(ScreenHeight)
nicht__ (signed int)ScreenHeight :0
-
Tim schrieb:
C Fan schrieb:
ich hab mal was in c++ mit eckigen klammern gesehen, wobei das kein array-index war.
Ohne dich schockkieren zu wollen, aber folgendes ist (auch) in C legal.
int arr[] = { 10, 20, 30, 40, 50 }; int foo = 3[arr];
ist aber auch ein array-zugriff, aber sieht man eher selten sowas.
Tim schrieb:
Und spar dir deine gekünstelten C++-Flames, das ist nur noch peinlich.
ich find's voll übel wie viel verwirrung dieser mist meistens im C forum stiftet, dann muss ich einfach immer drüber lästern.