标签:没有初始化 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