09-01 关于;;和“参数”: 从“time_t”转换到“unsigned int”,可能丢失数据和C 语言代码出错为什么显示「烫烫烫」
2021-03-22 07:24
标签:没有初始化 code 字符串 64位 lazy 警告 转换 为什么 初始 关于出现 ;; ? 单独一个分号相当于空语句,不影响,但不规范。 例:int i;; 等价于 int i; ; 关于从“time_t”转换到“unsigned int”,可能丢失数据? 这个警告是由于新版本的VC里time_t是64位的,而srand接受32位的unsigned int,所以会丢失数据。 改成 srand((unsigned)time(NULL)); 强制转换time_t到unsigned int就可以了。 关于C 语言代码出错为什么显示「烫烫烫」? 局部变量在没有初始化时, C语言规范要求是随机值。 但VC系列没有按照这个规定来做, 而是把没有初始化的栈空间赋值为0xCC。 于是 在输出未初始化的局部变量字符串时,就会输出 0xCC对应的字符. 而两位代表一个汉字, 0xCCCC就是汉字烫。 可以将的结构体中定义的字符数组都初始化为0 09-01 关于;;和“参数”: 从“time_t”转换到“unsigned int”,可能丢失数据和C 语言代码出错为什么显示「烫烫烫」 标签:没有初始化 code 字符串 64位 lazy 警告 转换 为什么 初始 原文地址:https://www.cnblogs.com/dongjiaonakeshu/p/13891764.html
上一篇:java入门基础课程
文章标题:09-01 关于;;和“参数”: 从“time_t”转换到“unsigned int”,可能丢失数据和C 语言代码出错为什么显示「烫烫烫」
文章链接:http://soscw.com/essay/67498.html