如何根据 c 中另一个循环的计数器编写一个循环 n 次的循环

How to write a loop which loops n times based on a counter from another loop in c

我如何编写一个循环 n 次的循环 (L1),其中 n 等于我放在另一个循环 (L2) 中的计数器变量 (Counter)。两个循环都需要依次执行。

L1 循环 n*Counter 次,我的函数转到 L2,再次递增计数器变量。因此,如果再次调用我的函数,L1 现在会再循环一次。

所以我有一个 returns 素数的代码,我想包含一个基于循环的循环,以便它在每次调用函数后打印下一个素数

#include <stdio.h>
int primfaktor();

int main()
{
    primefactor(*number*);
    primefactor(*number*);
    ...
}

int primefactor(int num){
    static int factor=2,n,counter=0;
    n=num;

    //Here would be the loop doing:0
    (n=n/factor***counter**);

    if (factor<=num){
        if (num%factor==0){
            printf("%d\n",factor);
            n=n/factor;
        }
        else factor++;

        **counter++**;            // 1.take the value of counter
    }
    return factor;
}

您可以探索以下一些选项来实现您的目标:

  1. 为循环计数器使用静态变量
  2. 为循环计数器使用全局变量
  3. 将循环计数器作为参数传递

或者您也可以探索使用嵌套循环来改变解决问题的方法