111-D 语句在 Return 0 上不可访问

111-D Statement is unreachable on Return 0

int main(void) {

    TIM4_Init();
    setSysTick();

    while (1) {
        TIM4->CCR1 = 600;       // 600 == 0.6 ms  -> 0'
        Delay(700);

        TIM4->CCR1 = 1500;      // 1500 == 1.5 ms -> 90'
        Delay(700);

        TIM4->CCR1 = 2100;      // 2100 == 2.1 ms -> 150'
        Delay(700);
    }

    return 0; 
}

以上是我目前正在处理的部分代码。我收到一条警告说 'Statement is unreachable' 在 Return 0,我不知道为什么。

while(1) 会一直循环下去,如果没有办法跳出循环,就不会到达return。

要消除警告,您可以将 main() 更改为 return void

无效主要(无效) { }

删除return0; :) 编译器会注意到无法到达 main() 的末尾,并且在没有 return

的情况下不会生成到达 int 函数末尾的警告