#include <stdio.h>
void reverse_string( char *string );
void swap( char *a, char *b )
{
char temp = *a;
*a = *b;
*b = temp;
}
int
main( void )
{
char string[]="fucnkjljlk";
printf("%s\n",string);
reverse_string( string );
printf("%s\n", string );
return 0;
}
void reverse_string( char *string )
{
char *temp;
temp=string;
while( *temp != '\0' )
temp++;
temp--;
while( temp > string )
{
swap( temp, string );
temp-- ;
string++ ;
}
}
若char string[]="fucnkjljlk"; 换成 char *string = "funckinkjkl";
就会出现段错误。
希望有人解惑。
------------------------------------------------表示找到答案