首页 > 解决方案 > 调试不进入循环

问题描述

我正在练习字符,我写了一个 while 循环,当我看到一个“;”时结束

但是,当我尝试调试时,它仅在最后一个循环时才进入循环,我不明白为什么

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

    void main()
{
    char str[] = "abccc;";
    int i = 0;
    while (str[i] != ';') 
    {
        i++;
        printf("%d \n",i);
    }

}

这就是代码,它可以工作并且非常简单,但是如果我调试它只在最后一次进入循环内部,我不知道为什么以及如何修复

标签: cdebuggingchar

解决方案


我建议继续跟踪,即使它看起来没有进入循环。有时代码的生成方式,在调试器中的执行不是线性的。事实上,当您继续跟踪时,请注意程序的 printf 输出。


推荐阅读