为什么这个简单的 C 程序没有显示任何输出?

Rav*_*Jha 0 c printf for-loop while-loop

我必须计算循环针对给定输入运行的次数,我正在尝试使用自定义值n来提出公式,但以下虚拟程序不显示任何输出,也不显示任何错误。还有的自定义值n而变化的4^k,我已经使用了一个随机值64,看看有多少次的循环运行。

我试图printf()在 while 循环本身中包含该语句,以查看编译器是否甚至进入该循环,但我仍然没有得到任何结果。我没有用 C 做过很多编程,我在一个在线编译器中运行程序。

int main()
{
    int i;
    int j;

    int n=64;
    int count=0;
    
    for(i=1;i<=n;i++){
        j = 2;
        while(j<=n){
            j = i*i;
            count +=1 ;
            
        }
    }
    
    printf("%d",count);
    
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

pas*_*leg 5

第一个循环,进入while循环。我们分配

j = 2
Run Code Online (Sandbox Code Playgroud)

然后,虽然j小于 64,我们分配

j = 1 * 1
Run Code Online (Sandbox Code Playgroud)

现在我们重置了 while 循环,但i没有改变,所以我们再做一次

j = 1 * 1
Run Code Online (Sandbox Code Playgroud)

所以这是一个永远不会完成的无限while循环。