Отдых в порядке, но я не понимаю, что происходит в этой части:Можете ли вы объяснить этот фрагмент кода?
для (х = 15; х% I ++ я: ++ K, я < х; x--, я ++)
#include <stdio.h>
#include <stdlib.h>
int main() {
int x, i = 2, k = 1;
for (x = 15; x % i ? ++i : ++k, i < x; x--, i++) {
x = -k + i;
i++;
printf("X = %d, I = %d, K = %d\n", x, i, k);
}
switch (x) {
case 2: printf("Display 2.\n");
case 5: printf("Display 5.\n");
case 0: printf("Display 0.\n");
break;
default: printf("Display default\n");
}
system("pause");
return 0;
}
'x% i? ++ i: ++ k' увеличивает i для неровных x и k для четного x. 'i
kamikaze
@kamikaze В целом правильно. Но это немного сложнее, чем потому, что «i» изменяется, и, следовательно, это не просто четное/нечетное состояние. – kaylum
Читайте об условных выражениях.И никогда не пишите такой код, это довольно непроницаемо. –