好吧,纪念一下。时间2017年12月5日,星期二,我遇到了之前无数次被提醒的错误——用scanf()输入单个字符时的注意点。
今天在写链表作业的时候遇到了结构体没有输入完就自动结束的bug,在数次尝试之后,突然注意到结构体中有一个单个字符变量,然后想起了scanf在输入单个字符时会遇到不加空格会出现输入空格的bug,经过修改后终于完成了链表作业...
例如scanf("%c%c",&a,&b);是无法正常赋值的,因为第二个%c会将空格赋值进去,造成输入不成功的现象和显示乱码,所以在写scanf的时候要这样写:scanf("%c %c",&a,&b);这样就可以避免了。
附上一张没有注意到scanf输入问题的程序运行图
2017-12-05 21-49-02屏幕截图.png
再附上一张解决后的程序运行图
输入正确的图片.png
网友评论