【问题标题】:Why is this simple C program not showing any output?为什么这个简单的 C 程序没有显示任何输出?
【发布时间】:2020-08-25 17:36:57
【问题描述】:

我必须计算给定输入循环运行的次数,我正在尝试使用n 的自定义值来得出一个公式,但以下虚拟程序没有显示任何输出,也没有显示任何错误。 n 的自定义值与 4^k 不同,我使用随机值 64 来查看循环运行的次数。

我尝试在 while 循环本身中包含 printf() 语句,以查看编译器是否甚至进入该循环,但我仍然没有得到任何结果。我在 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;
}

【问题讨论】:

  • 它可能没有足够长的字符串来填充缓冲区。尝试添加换行符:printf("%d\n",count);
  • 请不要混用不同的括号样式。

标签: c for-loop while-loop printf


【解决方案1】:

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

j = 2

然后,当j 小于 64 时,我们分配

j = 1 * 1

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

j = 1 * 1

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

【讨论】:

    猜你喜欢
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    相关资源
    最近更新 更多