Operatory C

0

int z1=4, z2=8;
int m=1;
int t[10]={-1,-2,-3};
char s1[30]="programowanie";
char s2[30]="strukturalne";
double z=(++z2-(z1--))%--z1;
printf("%f \n",z);
printf("1) %.11f\n", z/3);
printf("2) %d\n", --s1[2]<s2);
printf("3) %c\n", (strlen(s1)-4+s1));
printf("4) %.21f\n", !(z1%z2--) + 2.0
z1/z2);
printf("5) %d\n", (3
(++*(t+2)>>2)));
printf("6) %d\n", !(!z2||--z1));

Mógłby ktoś wytłumaczyć , dlaczego z wychodzi 1 a nie 0 , oraz jak to jest z dalszymi , lekki opis ogólnie (najlepiej wszystkimi ) , np co oznacza <*

1

Ad 1.

double z=(++z2-(z1--))%--z1;
  • to jest UB czyli możesz dostać dużo różnych wartości w zależności od kompilatora.
    Ad 2.
--s1[2]<(*s2)

1 użytkowników online, w tym zalogowanych: 0, gości: 1