こんにちは、Habrolyudi!
再帰的な手続きの楽しさについてです。
私たちが知っているように、関数は引数を取り、それらに応じて値を返します。 通常、形式はy = f(x1、... xn)です。
しかし、彼女は副作用を犯すべきではありません。 この場合、プロシージャと呼ばれるためです。
手順は次のようになります。
Copy Source | Copy HTML void someProc ( x1,...xn ) { doDomething1(); ... doSomethingN(); }
Copy Source | Copy HTML void someProc ( x1,...xn ) { doDomething1(); ... doSomethingN(); }
Copy Source | Copy HTML void someProc ( x1,...xn ) { doDomething1(); ... doSomethingN(); }
Copy Source | Copy HTML void someProc ( x1,...xn ) { doDomething1(); ... doSomethingN(); }
Copy Source | Copy HTML void someProc ( x1,...xn ) { doDomething1(); ... doSomethingN(); }
Copy Source | Copy HTML void someProc ( x1,...xn ) { doDomething1(); ... doSomethingN(); }
Copy Source | Copy HTML void someProc ( x1,...xn ) { doDomething1(); ... doSomethingN(); }
Copy Source | Copy HTML void someProc ( x1,...xn ) { doDomething1(); ... doSomethingN(); }
Copy Source | Copy HTML void someProc ( x1,...xn ) { doDomething1(); ... doSomethingN(); }
つまり、いくつかの手順に従うだけです。 引数や戻り値がなくてもうまくいくことができます。
関数本体で関数自体への呼び出し(再帰)を整理する場合、原則として、
中間計算には戻り値を使用します。 たとえば、階乗を計算したり、リストを処理したりします。
階乗の不快な例ですが、説明のために必要です:
Copy Source | Copy HTML int fac( n ) { if( n == 0 ) return 1 ; return n * fac( n-1 ); }
Copy Source | Copy HTML int fac( n ) { if( n == 0 ) return 1 ; return n * fac( n-1 ); }
Copy Source | Copy HTML int fac( n ) { if( n == 0 ) return 1 ; return n * fac( n-1 ); }
Copy Source | Copy HTML int fac( n ) { if( n == 0 ) return 1 ; return n * fac( n-1 ); }
Copy Source | Copy HTML int fac( n ) { if( n == 0 ) return 1 ; return n * fac( n-1 ); }
Copy Source | Copy HTML int fac( n ) { if( n == 0 ) return 1 ; return n * fac( n-1 ); }
Copy Source | Copy HTML int fac( n ) { if( n == 0 ) return 1 ; return n * fac( n-1 ); }
Copy Source | Copy HTML int fac( n ) { if( n == 0 ) return 1 ; return n * fac( n-1 ); }
Copy Source | Copy HTML int fac( n ) { if( n == 0 ) return 1 ; return n * fac( n-1 ); }
例はCで提供されていますが、純粋に機能的なアプローチで作成されています。
しかし、再帰的な手順は何をもたらすことができますか? 彼女には非常に優れた特徴があります。つまり、自分を呼ぶ前と後の空間です。
さらに、AFTERは、再帰を終了する条件(単純な場合)が満たされた時点で初めて正確に実行されます。
Copy Source | Copy HTML void recProc( .... ) { // recProc( ... ); // - , }
Copy Source | Copy HTML void recProc( .... ) { // recProc( ... ); // - , }
Copy Source | Copy HTML void recProc( .... ) { // recProc( ... ); // - , }
Copy Source | Copy HTML void recProc( .... ) { // recProc( ... ); // - , }
Copy Source | Copy HTML void recProc( .... ) { // recProc( ... ); // - , }
Copy Source | Copy HTML void recProc( .... ) { // recProc( ... ); // - , }
Copy Source | Copy HTML void recProc( .... ) { // recProc( ... ); // - , }
Copy Source | Copy HTML void recProc( .... ) { // recProc( ... ); // - , }
Copy Source | Copy HTML void recProc( .... ) { // recProc( ... ); // - , }
つまり、再帰的手順は、最初にねじれた後、元の位置でねじられていないばねと比較できます。
例で説明します。 タスクは、ループを使用せずに0からNまでの数字を印刷することだとしましょう。
手順は次のとおりです。
Copy Source | Copy HTML void cnt( int i ) { if( i ) { // printf("%d\n",i); // cnt( i-1 ); } printf( "%d\n",i ); // }
Copy Source | Copy HTML void cnt( int i ) { if( i ) { // printf("%d\n",i); // cnt( i-1 ); } printf( "%d\n",i ); // }
Copy Source | Copy HTML void cnt( int i ) { if( i ) { // printf("%d\n",i); // cnt( i-1 ); } printf( "%d\n",i ); // }
Copy Source | Copy HTML void cnt( int i ) { if( i ) { // printf("%d\n",i); // cnt( i-1 ); } printf( "%d\n",i ); // }
Copy Source | Copy HTML void cnt( int i ) { if( i ) { // printf("%d\n",i); // cnt( i-1 ); } printf( "%d\n",i ); // }
Copy Source | Copy HTML void cnt( int i ) { if( i ) { // printf("%d\n",i); // cnt( i-1 ); } printf( "%d\n",i ); // }
Copy Source | Copy HTML void cnt( int i ) { if( i ) { // printf("%d\n",i); // cnt( i-1 ); } printf( "%d\n",i ); // }
Copy Source | Copy HTML void cnt( int i ) { if( i ) { // printf("%d\n",i); // cnt( i-1 ); } printf( "%d\n",i ); // }
Copy Source | Copy HTML void cnt( int i ) { if( i ) { // printf("%d\n",i); // cnt( i-1 ); } printf( "%d\n",i ); // }
Copy Source | Copy HTML void cnt( int i ) { if( i ) { // printf("%d\n",i); // cnt( i-1 ); } printf( "%d\n",i ); // }
Copy Source | Copy HTML void cnt( int i ) { if( i ) { // printf("%d\n",i); // cnt( i-1 ); } printf( "%d\n",i ); // }
出力はその中に示されます-iがゼロになる場合。 引数を1つ減らして呼び出されるたびに。 彼女がゼロで志願するとすぐに、私は印刷します。 そして出口。 しかし、それ自体と前の反復で何かを残します。
その結果、0から指定された引数までの数字の出力を取得します。 ばねが引きずられて開きます。 私たちは解散の過程を目撃しています。
入力する前にコメントを外して行のコメントを解除すると、カウントダウンが発生します。 すべてのコメントを解除すると、回文が表示されます。 まず、降順(ねじれ)、次に増加(解散)。
この機能を見つけることができ、より便利なアプリケーションです。 たとえば、数値を文字列に変換するタスクを考えてみましょう。 この方法は、番号を構成する番号を順番に取得し、それらを符号に変換し、それらからすでに行を作成するという事実にあります。
たとえば、10進法の496は次のように分解されます。
496%10(ベースの除算の残りを取る)= 6
49%10(前の部門の残りを分割)= 9
4%10 = 4
この方法には2つの欠点があります。
1.最後から数字を取得します
2.数字の長さはわかりません
KerniganとRichieはこのソリューションを提案しました。
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
Copy Source | Copy HTML void itoa( int n, char s[] ) { int i , sign; if ( (sign = n ) < 0 ) /* */ n = -n; /* n */ i = 0 ; do { /* */ s[ i ++] = n % 10 + '0' ; /* */ } while ( (n /= 10 ) > 0 ); /* */ if ( sign < 0 ) s[ i ++] = '-' ; s[ i ] = '\0' ; reverse( s ); }
つまり、行を後方に並べてから、reverse関数を使用して裏返します。 「額」と呼ばれ、疑問を残す決定。
たとえば、行ごとに割り当てられるメモリ量。 unningな創業者の父親は、これを回避し、既に定義された配列にデータを書き込むことを選択しました。
また、変換後にすべての行を切り替えることは、面倒ではありません。 そのような呼び出しは非常に頻繁であり、これが間違いなく生産性に影響するためです。
これは、再帰的な手順が助けになる場所です。 彼女は変身することができます
文字列形式の10進数、16進数、2進数、8進数。
これは次のようなものです。
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
Copy Source | Copy HTML #include <stdio.h> #include <stdlib.h> #include <assert.h> #define DEC 0 #define OCT 1 #define HEX 2 #define BIN 3 char *uitoa( int a,int r ); int main() { int num = 7654894 ; int e_num = 0x4E35FF; int b_num = 0b1110011; int o_num = 077432 ; printf( "%s\n",uitoa(e_num,HEX )); printf( "%s\n",uitoa(b_num,BIN )); printf( "%s\n",uitoa(o_num,OCT )); } char *uitoa( int a,int r ) { /* <br/> * <br/> * <br/> * <br/> */ static int szmem = 0 ; // static char *mas = 0 ; // static char *bgmas = 0 ; // char numb [] = "0123456789ABCDEF" ; // 0 - '0', 15 - 'F' int dig[] ={ 10 , 8 , 16 , 2 }; // if( a == 0 ) { if( szmem == 0 ) { // 0 // 2 sizeof(char), 0 ( 0) mas = malloc( 2 * sizeof(char ) ); assert( mas ); *mas = '0' ;*( mas + 1 ) = 0 ; return mas; // } /* , szmem <br/> * a 0 ( ) <br/> * szmem + sizeof(char) 0 <br/> * <br/> */ bgmas = mas = malloc( szmem * sizeof(char ) + size of( char ) ); assert( mas ); *( mas+szmem ) = ( char ) 0 ; }else { /* . a!=0 <br/> * <br/> * <br/> * a <br/> */ szmem++; uitoa( a / dig[r],r ); /* <br/> * , <br/> * , <br/> * . <br/> * <br/> * : , <br/> * "" . <br/> * "" <br/> * , . <br/> * <br/> * <br/> * mas , <br/> * . <br/> */ *mas++ = numb [ a % dig[r]]; } szmem = 0 ; return bgmas; }
プロシージャは、メモリを割り当て、それへのポインタを返します。 そのため、回線を受け取って作業を終えたら、メモリリークを避けるためにメモリを解放する必要があります。
この記事が再帰の理解に役立つことを願っています。