C语言的一个问答程序问题【后追分】

Python017

C语言的一个问答程序问题【后追分】,第1张

getchar()是以回车符作为结束符的..所以接收到回车后就继续执行下一个语句,如果不加,scanf语句是可以空格或者结束的,这样上面输入了空格加回车,下面读取的时候可能就只读取了回车!没有任何数据。所以说 getchar()语句可以消掉回车

亲,那加的不是putchar,是getchar,在输入数字之后,实际上是缓存了一个换行符的,如果不用getchar把这个换行符消掉的话,用scanf("%c")是可以获得到这个回车的。用一个getchar 就是为了清理这个回车符。

main ->ss(123)

ss(123)里先调用ss(12)

ss(12)里调用ss(1)

ss(1)里if条件不符合,跳过递归,输出1

回到ss(12),输出2

回到ss(123),输出3

所以最后结果是123