c - 调试不进入循环
问题描述
我正在练习字符,我写了一个 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);
}
}
这就是代码,它可以工作并且非常简单,但是如果我调试它只在最后一次进入循环内部,我不知道为什么以及如何修复
解决方案
我建议继续跟踪,即使它看起来没有进入循环。有时代码的生成方式,在调试器中的执行不是线性的。事实上,当您继续跟踪时,请注意程序的 printf 输出。
推荐阅读
- fullcalendar - 其他显示器上的全日历刷新
- php - Codeigniter PostgreSQL 通过 CLI 运行不工作
- swift - UISegmentedControl iOS 13 SelectedTint 默认颜色
- salesforce - 文件格式和扩展名不匹配
- php - 如何使用平面 json 结果数组创建 PHP 自定义嵌套 json 数组
- python-3.x - __rrshift__ 可以接受多个参数吗?
- android - 如何在项目中设置 com.google.firebase:firebase-database 库
- c++ - 从 VSStudio 得到 C2628 奇怪的错误,所有分号都在那里
- apache-flink - 如何使状态巨大的 Flink 工作完成
- node.js - 如何在持续集成中管理 .env 配置