想问下如果没有按要求输入一个字符、两个数字、而是输了3个数字会怎么样

img

这会根据你第一个数字的位数来确定
如果第一位数字是个位数时,ch=getchar()会把这个数字以字符的形式存入ch,然后对剩下的两个数字scanf
如果第一位数字至少是两位数时,ch=getchar()会把这个数字的最高位存进ch,然后scanf读取剩下的部分和下一个数字,比如输入512 23 14,就会是ch='5',rows=12,cols=23

只会取前2个数字,第3个数字会留着等下一个数字

会把数字当成字符打印出来