elsen
22.10.2008, 20:39
Hallo allerseits =)
Ich lerne zur Zeit C und werde sicher des öfteren auf kleinere oder größere Fragen stoßen.
In diesem Sinne hab ich den Thread hier aufgemacht um meine Fragen zu sammeln und nicht immer wegen jeder Kleinigkeit einen neuen Thread aufzumachen! ;)
Es ist ein Anfängerthread, also nicht über "Billigfragen" aufregen, bitte! ^_^
Meine erste Frage:
Wenn ich eine Variable deklariere, die vom Datentyp unsigned int ist, müsste es nicht eine Fehlermeldung geben, wenn ich ihr mit scanf() einen negativen Wert zuweise?
Mein Testcode:
int main()
{
unsigned int a = 56;
unsigned int b = 12;
unsigned int c;
printf("a = %d\n" ,a);
scanf("%d" ,&a); //ich gebe hier z.B. -45 ein
printf("neuer Wert von a: %d\n" ,a);
c = a + b;
printf("Der Wert von c betraegt %d" ,c); //c hat dann einen Wert von -33
getch();
return 0;
}
Auch nach dem ich mit dem negativen Wert gerechnet habe, sodass auch ein negativer Wert als Ergebnis heraus kommt, gibts keine Fehlermeldung!
Wieso kann man das machen, wenn der Datentyp unsigned ist???
greetz!
elsen =)
Ich lerne zur Zeit C und werde sicher des öfteren auf kleinere oder größere Fragen stoßen.
In diesem Sinne hab ich den Thread hier aufgemacht um meine Fragen zu sammeln und nicht immer wegen jeder Kleinigkeit einen neuen Thread aufzumachen! ;)
Es ist ein Anfängerthread, also nicht über "Billigfragen" aufregen, bitte! ^_^
Meine erste Frage:
Wenn ich eine Variable deklariere, die vom Datentyp unsigned int ist, müsste es nicht eine Fehlermeldung geben, wenn ich ihr mit scanf() einen negativen Wert zuweise?
Mein Testcode:
int main()
{
unsigned int a = 56;
unsigned int b = 12;
unsigned int c;
printf("a = %d\n" ,a);
scanf("%d" ,&a); //ich gebe hier z.B. -45 ein
printf("neuer Wert von a: %d\n" ,a);
c = a + b;
printf("Der Wert von c betraegt %d" ,c); //c hat dann einen Wert von -33
getch();
return 0;
}
Auch nach dem ich mit dem negativen Wert gerechnet habe, sodass auch ein negativer Wert als Ergebnis heraus kommt, gibts keine Fehlermeldung!
Wieso kann man das machen, wenn der Datentyp unsigned ist???
greetz!
elsen =)