有没有人能解释一下为什么输出结果是这样呀TAT

刚接触c语言,输出结果为什么是这样
我真的不理解!
来个人帮帮我好吗!😭😭

img

img

根据代码,可能在你的编译器下,变量不赋值时,默认为0,0对应的字符是不可以打印的,并且c1-97和c2-98不会改变c1和c2,所以第一个代码打印字符时,只打印了逗号和换行

第二个代码,c1是打印对应字符和数字,c2,298超过了字符最大的数字255,会发生截断截断的结果即为298%256 = 42,对应的字符为*,
如果想理解为什么截断后为42,可以参考我的博客,数据在内存中的存储

c1=97;c2=98;