至于输入错误会发生什么,调试一下便可知晓

刚进入主函数时,a和b尚未使用scanf赋值,所以它们的值是上一个执行的程序留下的

这一步,我们故意提供了一个错误的输入(两数中间错误地以空格隔开),此时程序正确接收了a的值,b的值由于错误输入而未被接受

结果显而易见,第二个值在未被接受的情况下为26,比第一个值要大,所以得到的是26这个错误的结果
你的情况同理,你第二个值的初始值为32761,由于没有正确输入,这个值保留到了最后
这正是“Garbage In,Garbage Out(垃圾进,垃圾出)”这句话的体现