C语言倒序输出 I am a Student
C语言倒序输出 I am a Student.
#include <stdio.h> 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 ) ); */ }
天亮了 我 还 是不是 你的 女人. -> 女人. 你的 是不是 还 我 天亮了 请按任意键继续. . .