该功能应该反向打印,但它只是给我一个错误

时间:2014-04-21 06:53:06

标签: c string reverse

#include <stdio.h>

void stringReverse( char [] );

int main()
{
    int y = 24; int x;
    char str[ 24 ] = "Print this string back.";
    //for ( x = 0; x < y; ++x )
    printf("%s \n",str);  
    stringReverse( str );
    return (0);
}

void stringReverse( char str[] )
{
    if ( str[0] == '\0' )
        return; 
    stringReverse( &str[1] );
    printf("%s \n",str[0]); 
}

这是基本的C,所以请不要复杂的事情。我真的不知道什么是错的。

1 个答案:

答案 0 :(得分:7)

用于打印单个字符的格式运算符为%c,而不是%s。所以它应该是:

printf("%c \n",str[0]); 

修正后,输出为:

Print this string back. 
. 
k 
c 
a 
b 

g 
n 
i 
r 
t 
s 

s 
i 
h 
t 

t 
n 
i 
r 
P