C语言,将占字节多的整形数据赋给一个占字节少的整型变量或字符变量

如题,将一个占字节多整型数据赋给一个占字节少的整型变量或字符变量,会有截断。
图中给的例子里,为什么不直接写char c,而要写char c='a',这样不是将97赋给c了吗,难道不是多此一举吗

img

一般定义变量的话就地初始化,就算你不知道赋多少,一般都会赋值个0,不然char c;这样定义的话,c是一个随机数,这样很危险,所以这里定义char c='a';

这只是一个好的编码习惯,定义变量就初始化。不写='a'也行

正常情况下,你是不用赋初值的,但是,当你遇到个逻辑,需要判断c 是否为0,那么判断之前,你是不是还是要给c 初始化,不然就是野数据
一般,对于一个软件工程师来说,定义一个变量无论是C C++ 还是Java ,都会初始化,这是一个习惯