Modulo operation

Diskutiere Modulo operation im Java Basics - Anfänger-Themen Bereich.
A

arhzz

Hallo lieben! Ich bin nicht ganz sicher wie dieser kleiner Programm funktioniert.Nämlich ist der int wert von 'd' in der ASCII Tabelle 100,und der Teil (++c) soll den wert um 1 erhöhen (preincrement) also ist der wert 101 modulo den wert von c 100 (c-- ist postincrement also bleibt der wert 100). Also 101%100 sollte doch 1 sein,aber die Ausgabe ist 0.Das sollte bedeuten dass die Operation 100%100 war,aber wie kann dass sein.Hat die modulo operation Priorität, und auch der preincrement passiert nach der modulo operation? Ich fällt nichts anderes ein,vielleicht kann es jemand aufklären. Danke!

Java:
public class test2 {
    public static void main(String[] args) {
        char c = 'd';
        
    Out.println(++c % c--);
    }
}
 
J

JennyL

Also, an der Präzedenz liegt es nicht, denn ++ und -- haben eine höhere Präzedenz: https://introcs.cs.princeton.edu/java/11precedence/

Effektiv liegt aber das vor:
Java:
		int i = 100;
		System.out.println((++i) % i);
		i--;
zuerst wird i erhöht (101), dann i%i gerechnet (101%101) - das ist 0. i-- kommt erst nach der Ausgabe dran.
 
A

arhzz

J

JennyL

Bitte, ich musste auch erst überlegen, wieso die Ausgabe so ist... :D
 
Thema: 

Modulo operation

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben