Здесь есть две возможности. Либо вы никогда не доберетесь до printf
, либо результат никогда не дойдет до вас.
Для первого случая, вы уверены, что k == 1
и num % j == 0
? Предоставление нам фактических числовых значений в вашем тесте может помочь. Обратите внимание, что если k
- это число с плавающей запятой, являющееся результатом вычисления, оно может быть очень незначительным по сравнению с 1,0, и условие вернет false.
Во втором случае, как вы это тестируете? Это должно вывести значение j
, но оно не сбрасывает вывод, поэтому, если программа завершается ненормально, или консоль уходит в конце программы, или что-то такое, чего вы можете не видеть. Попробуйте printf("%d\n", j);
или даже fflush(stdout);
, чтобы убедиться, что вывод виден на вашей консоли или терминале.