玄学Bug集合

2、C语言中,用scanf 为 unsigned char 变量赋值引发的神奇bug。
环境Win10,VS2019,CMake。
全局变量 g_u8VehGear 为 unsigned char 型,因为这个类型简写为 uint8_t,我下意识地以%d作为格式控制,为它赋值。如下:
scanf("%d", &g_u8VehGear);
赋值的结果很正常,但神奇的bug出现了,我定义的另外一个全局变量,被自动置零了!!!
另一个完全不相关的全局变量被置零了!这是什么情况?!
这个bug害得我浪费了大半天时间,真是害人不浅。
然后我去查了查资料,如果要用 scanf 给 unsigned char 赋值,不要用 %d ,要用 %hhu ,如下:
scanf("%hhu", &g_u8VehGear);
至于这个bug的原因,我还没找到,在网上也没搜到和我相同的问题。

1、Linux下,QT编写的界面程序无法显示菜单栏。
原因:Ubuntu系统自带的菜单栏显示默认在左上角
解决方法:直接改设置就可以了。


效果如下:

学习自:https://blog.csdn.net/weixin_43053387/article/details/88618091

你可能感兴趣的:(玄学Bug集合)