09-01 关于;;和“参数”: 从“time_t”转换到“unsigned int”,可能丢失数据和C 语言代码出错为什么显示「烫烫烫」
Posted dongjiaonakeshu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了09-01 关于;;和“参数”: 从“time_t”转换到“unsigned int”,可能丢失数据和C 语言代码出错为什么显示「烫烫烫」相关的知识,希望对你有一定的参考价值。
关于出现 ;; ?
单独一个分号相当于空语句,不影响,但不规范。
例: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 语言代码出错为什么显示「烫烫烫」的主要内容,如果未能解决你的问题,请参考以下文章
没有合适的从“const std :: string”到“time_t”的转换函数