怎么就死循环了!

简介: 怎么就死循环了!c语言在进行运算的时候,一个有符号整数和一个无符号整数参与运算,结果将是一个无符号数。这也是常见的无解,一不小心就写出了死循环。当然,这里的i-DELTA直接写为i-4 是没问题的,因为4默认是有符号数,除非你加上U#include void main(){ int...

怎么就死循环了!

c语言在进行运算的时候,一个有符号整数和一个无符号整数参与运算,结果将是一个无符号数。这也是常见的无解,一不小心就写出了死循环。
当然,这里的i-DELTA直接写为i-4 是没问题的,因为4默认是有符号数,除非你加上U

#include <stdio.h>

void main(){
    int i=30;
    #define DELTA sizeof(int)
    for(;i-DELTA>=0;i--){
        printf("%d\n",i);
    }
}

类似的例子在go中是行不通的,go干脆直接报错,说无符号数不能和有符号数一起运算,只能进行类型转换以后再运算。看来go还是很明智的避免了这些陷阱啊!

目录
相关文章
|
6月前
|
监控 测试技术 程序员
解决线程死循环问题的有效方法
作为开发者想必都清楚,多线程应用程序的开发为我们日常开发工作中提供了并发执行任务的能力,但线程死循环问题却是一个常见而令人头疼的挑战,因为线程死循环可能导致系统的不稳定性、资源浪费以及应用程序的异常运行,所以准确地定位和妥善处理线程死循环现象,并在编码阶段就避免潜在风险,成为开发人员必须面对的重要问题,线程死循环问题的解决不仅有助于提高系统的稳定性和可用性,还能优化资源利用和提升应用程序的性能,通过采取适当的预防和处理措施,开发人员能够避免线程陷入无尽的循环,并及时发现和解决潜在问题。那么本文就来分享一下关于如何处理线程死循环问题,以及如何在编码阶段规避潜在风险。
210 2
解决线程死循环问题的有效方法
|
4天前
在使用`for...of`循环时,如何跳出循环?
在使用`for...of`循环时,如何跳出循环?
14 1
|
6月前
避免循环死循环
避免循环死循环
53 0
|
6月前
|
C语言
C语言中如何避免循环死循环
C语言中如何避免循环死循环
280 1
|
6月前
|
存储 编译器 程序员
C陷阱——数组越界引发的死循环问题
C陷阱——数组越界引发的死循环问题
|
6月前
|
NoSQL
线程死循环的定位方法
线程死循环的定位方法
97 2
|
6月前
|
监控 测试技术 Linux
线程死循环是并发编程中常见的问题之一
【4月更文挑战第24天】线程死循环是并发编程中常见的问题之一
89 1
|
6月前
|
程序员
无限循环
无限循环。
67 0
死循环记录
死循环记录
78 0
数组越界死循环问题!
数组越界死循环问题!
53 0