c - 为什么语法错误会导致无限循环而不是编译时的 fatal error ?

标签 c gcc arm stm32

我在 for 循环中犯了以下错误:

for(i=0;i<(blockSize);i=+2) 

i=+2 而不是 i+=2

结果很疯狂,没有编译器错误,但有一个很好的无限循环。 我已经疯了...

为什么我有错误?这是一个错误吗?有人可以解释一下吗?

我正在将 gcc 用于 ARM 微 Controller 。

最佳答案

出现错误是因为 i=+2 被解释为 i = +2(“i 等于正二”)。每次循环后,i 都会被设置为 2,这意味着循环永远不会结束。

+ and - can both be placed in front of numbers to specify their signs in C.

关于c - 为什么语法错误会导致无限循环而不是编译时的 fatal error ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58466493/

相关文章:

c - 普通数组声明和在结构内声明的数组之间的内存和效率差异

c - 如何在 C 中创建具有两个可变大小数组的结构

C++ 找不到类型定义?

gcc - 交叉编译 : GCC ignores --sysroot

c++ - 在调试器外编程正常,单步执行时在调试器下 SIGILL?

c - "Pointer being freed was not allocated"发生在 mac 但不是在 windows 7

c - 在代码中查找变长数组

std=c++11 和 std=gnu++11 之间的 C++ 标准正则表达式差异

arm - ARM64 (iOS) 上的内联汇编指令失败

c - 从命令行检索全局变量值