递归实现逆序的小问题
int main(void){
char str[80];
puts("Enter a string:");
gets(str);
inverse(str);
return 0;
}
void inverse(char * str)
{
if(*str !='\0')
inverse(str+1);
putchar(*(str-1));//这里还是有点问题的?
}
如果putchar(*str) 输出的逆序字符串的首位会多出一个空格,为什么会是空格呢?最后*str不是等于'\0'吗?
如果 putchar(*(str-1)) 输出是正确的逆序,可是我在想,*str的首位前面的一位不是也应该有输出吗?就是说*str-1应该会有乱码吧?