-2
Wenn ich eine Funktion wiebedingte Operation
f1 (int a)
{
a = a % 2 ? a + 2 : a;
printf(”%c ” , ’a’ + a);
}
und ich rufe f1 (0) Was macht ein% 2 als Bedingung bedeuten?
Wenn ich eine Funktion wiebedingte Operation
f1 (int a)
{
a = a % 2 ? a + 2 : a;
printf(”%c ” , ’a’ + a);
}
und ich rufe f1 (0) Was macht ein% 2 als Bedingung bedeuten?
Es prüft, ob a
gerade oder ungerade ist.
a % 2
gibt Rest nach a
durch 2
, d.h. 0
für gerade Zahlen und 1
für ungerade Zahlen. Und dann wird 0
oder 1
als Bedingungsausdruck im ternären Operator ?:
verwendet, um entweder den ersten Ausdruck oder den zweiten Ausdruck als endgültiges Ausdrucksergebnis zu verwenden.
'%' = Modul Operator und Rest nach einer ganzzahligen Division. 'a = a% 2? a + 2: a; 'expandiert zu a = Wenn a/2 eine Erinnerung hat, dann a + 2 else a' – bansi
Warum hat Ihr Code seltsame Abstände? Oder sollte ich sagen, warum hat Ihr Code "w e i rd s p a c i n g"? –
auch die seltsamen Anführungszeichen '' 'sieht aus wie Word mit automatischer Rechtschreibprüfung aktiviert wird für die Code-Bearbeitung verwendet. – bansi