C语言倒序输出 I am a Student.
#include
void test() {
int a = 0, b = 0, c = a + b;
}
void main() {
char *pi = "天亮了 我 还 是不是 你的 女人.";
int i = 0, j = 0, k = 0 ;
int add[255] = {0};
char* cp1 ;
printf( "%s -> ", pi );
while ( *(pi + i )/* != '\0'*/ ) {
if ( *( pi + i ) == ' ' ) {
add[k++] = i;
}
i = i + 1;
}
for ( i = 1; i < 255; i++ ) { if ( add[ i ] == 0 ) k = i; break; }
printf( "%s ", ( pi + add[k - 1] + 1 ) );
for ( i = ( k - 2 ); i >= 0 ; i-- ) {
j = 1;
while ( 1 ) {
cp1 = ( char* ) ( *( pi + add[i] + j ) );
if ( add[i + 1] == add[i] + j ) break;
printf( "%c", cp1 );
j = j + 1;
} printf( " " );
}
for ( i = 0; i < add[ 0 ]; i++ ) printf( "%c", ( char* ) *( pi + i ) ); printf( "\n" );
system( "pause" );
/*cp1 = (char*) ( *( pi + add[ k - 2 ] )) ;
printf( "%c", cp1 );
cp1 = (char*) ( *( pi + add[ k - 2 ] + 1)) ;
printf( "%c", cp1 );
/
cp1 = (char*) ( *( pi + add[ k - 3 ] )) ;
printf( "%c", cp1 );
cp1 = (char*) ( *( pi + add[ k - 3 ] + 1)) ;
printf( "%c", cp1 );
/
cp1 = (char*) ( *( pi + add[ k - 3 ] + 2)) ;
printf( "%c ", cp1 );
printf( "%c\n", ( char* ) *( pi ) );
*/
/*
printf( "%s\n", ( pi + add[k - 1] ) );
printf( "%s\n", ( pi + add[k - 2] ) );printf( "%s\n", ( pi + add[k - 2] ) );
printf( "%s\n", ( pi + add[k - 3] ) );
printf( "%s\n", ( pi ) );
*/
}
天亮了 我 还 是不是 你的 女人. -> 女人. 你的 是不是 还 我 天亮了
请按任意键继续. . .