isdigit('ü') == TRUE ????
-
Kann mir jemand sagen, warum ich ein TRUE zurückbekomme, wenn ich den Buchstaben 'ü' auf eine Zahl überprüfe?
Bei allen anderen Buchstaben kriege ich ein FALSE und so sollte es hier auch sein!isdigit('ü'); //Liefert TRUE
Gruß
Marius
-
[shice]
-
versuchs mal mit isdigit((unsigned char)'ü')
1ntrud0r: ???
Nach deiner Aussage wär isdigit('a') auch true
-
@1ntrud0r
Ja schon klar. Aber warum wird "ü" als Zahl interpretiert?
"ö", "ä" oder andere Buchstaben werden doch auch nicht als Zahl interpretiert.
-
Danke Bashar
so funktioniert's.
-
dziuba schrieb:
@1ntrud0r
Ja schon klar. Aber warum wird "ü" als Zahl interpretiert?
"ö", "ä" oder andere Buchstaben werden doch auch nicht als Zahl interpretiert... schau mal ob dir das was bashar gesagt hat weiterhilft .. meins war prinzipieller shittalk
-
Natürlich: 'a' ist eine Zahl.
int x = 5 + 'a';
-
Aber keine Ziffer.
-
Helium schrieb:
Natürlich: 'a' ist eine Zahl.
int x = 5 + 'a';
es ging ja nicht drum das a ne zahl ist ... das wissen wir denk ich alle ..
es ging darum warum isdigit('ü') bei ihm true gibt ...
-
Ja schon klar. Aber warum wird "ü" als Zahl interpretiert?
-
Ich meinete eigentlich:
Warum wird "ü" von der Methode isdigit() als Zahl interpretiert?Digit heißt doch Zahl/Ziffer?
-
Digit heißt Ziffer, aber nicht Zahl.
Beispiel: 12345 ist eine Zahl, die aus fünf Ziffern besteht.
1 ist sowohl eine Zahl, als auch eine Ziffer, je nach Betrachtung.
-
Digit heißt sowohl Ziffer als auch Zahl.
Ansonsten ist mir der Unterschied zwischen Ziffer und Zahl schon klar.
-
ANSI-C 7.4:
[#1] The header <ctype.h> declares several functions useful
for testing and mapping characters.155) In all cases the
argument is an int, the value of which shall be
representable as an unsigned char or shall equal the value
of the macro EOF. If the argument has any other value, the
behavior is undefined.Wenn chars bei dir standardmäßig vorzeichenbehaftet sind, dann ist ü negativ. Die ctype-Funktionen erwarten aber positive Zahlen oder EOF.
-
Wird nicht implizit von (char)-50 in 175 konvertiert, wenn der Zielvariablentyp unsigned char ist?
-
Ja, aber der Zieltyp ist int