Pa, [tt]&&[/tt] i ima veci prioritet od [tt]||[/tt]. :) Usporedi:
[b]Primjer 1:[/b][code:1]#include <stdio.h>
int main(void) {
int x = 1, y = 2, z = 0;
printf("x=%d, y=%d, z=%d\n", x, y, z);
if (x++ || y++ && z++)
printf("x=%d, y=%d, z=%d\n", x, y, z);
return 1;
}[/code:1]
Output:[code:1]x=1, y=2, z=0
x=2, y=2, z=0[/code:1]
[b]Primjer 2:[/b] (pomocu zagrada operatoru [tt]||[/tt] dajemo jaci prioritet)[code:1]#include <stdio.h>
int main(void) {
int x = 1, y = 2, z = 0;
printf("x=%d, y=%d, z=%d\n", x, y, z);
if ((x++ || y++) && z++)
printf("x=%d, y=%d, z=%d\n", x, y, z);
return 1;
}[/code:1]
Output:[code:1]x=1, y=2, z=0[/code:1]
Stvar je u tome da kad imas [tt]A || nekakva_formula[/tt] i [tt]A[/tt] je istina, onda je jasno da je cijeli izraz istina, bez obzira na to sto je [tt]nekakva_formula[/tt] i zato se tu prioriteti ponekad ne "vide". ;)
Nadam se da je sada barem malo jasnije. :)
P.S. Probaj i sa [tt]z++ && x++ || y++[/tt] i [tt]z++ && (x++ || y++)[/tt], pa ces vidjeti da se slicno ponasa (razlika je u tome sto ce prvi povecati [tt]y[/tt] i [tt]z[/tt] - tebi pitanje: zasto ne i [tt]x[/tt]?). :)
Pa, && i ima veci prioritet od ||. Usporedi:
Primjer 1: Kod: | #include <stdio.h>
int main(void) {
int x = 1, y = 2, z = 0;
printf("x=%d, y=%d, z=%d\n", x, y, z);
if (x++ || y++ && z++)
printf("x=%d, y=%d, z=%d\n", x, y, z);
return 1;
} |
Output: Kod: | x=1, y=2, z=0
x=2, y=2, z=0 |
Primjer 2: (pomocu zagrada operatoru || dajemo jaci prioritet) Kod: | #include <stdio.h>
int main(void) {
int x = 1, y = 2, z = 0;
printf("x=%d, y=%d, z=%d\n", x, y, z);
if ((x++ || y++) && z++)
printf("x=%d, y=%d, z=%d\n", x, y, z);
return 1;
} |
Output:
Stvar je u tome da kad imas A || nekakva_formula i A je istina, onda je jasno da je cijeli izraz istina, bez obzira na to sto je nekakva_formula i zato se tu prioriteti ponekad ne "vide".
Nadam se da je sada barem malo jasnije.
P.S. Probaj i sa z++ && x++ || y++ i z++ && (x++ || y++), pa ces vidjeti da se slicno ponasa (razlika je u tome sto ce prvi povecati y i z - tebi pitanje: zasto ne i x?).
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. ![Drzim prodike](images/smiles/gj_teach.gif)
|