#include #include #include long my_pow( int x, int n ){ int y=1, i=0; for( i=0; i len ) { printf( "%d + %d > len:%d\n", m, n, len ); return NULL; } char *del; del = (char*)malloc(n); memcpy( del, str+m, n ); del[n] = 0; for( k=m,i=0; str[m+n+i]; i++ ) { str[m+i] = str[m+n+i]; } str[m+i] = 0; return del;}int str2int( char *str ){ int s=0, i=0, j=0; for( s=0,i=0,j=0; str[i]; i++ ) { if ( str[i]>='0' && str[i]<='9' ) s = s*10 + str[i]-'0'; } return s;}int sum( int n ){ if ( n == 1 ) return 1; return n + sum( n-1 );}void main(){ printf( "1. 2^3 = %ld\n", my_pow(2, 3) ); int a[4][4] = { {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; printf( "2. %ld\n", func2( (int**)a, 4, 4) ); char s[12]; sprintf( s, "abcdefg" ); revert( s ); printf( "3. revert(abcdefg)=%s\n", s ); printf( "4. %s,", strDel( s, 2, 3 ) ); printf( "[%s]\n", s ); printf( "5. 123a4=%d\n", str2int("123a4") ); printf( "6. 1+2+3+4+..+100=%d\n", sum( 100 ) );}