- 論壇徽章:
- 0
|
- #include <stdio.h>
- #include <string.h>
- int itoc(const int i, char **ch);
- int main()
- {
- int a = 99999;
- int b = 100001;
- int c = 100000;
- char *ch = 0;
-
- itoc( a, &ch);
- printf("ch: %s\n", ch);
- itoc( b, &ch);
- printf("ch: %s\n", ch);
- itoc( c, &ch);
- printf("ch: %s\n", ch);
-
- }
- int itoc( const int i, char **ch)
- {
- char buf[33];
- memset( buf, ' ', 33);
- buf[32] = '\0';
- *ch = buf;
- int t = i;
- int l = i;
- int m = 0;
- while( t )
- {
- l = t%10;
- buf[31 - m++] = l + '0';
- t/=10;
- }
- return 0;
- }
復(fù)制代碼 結(jié)果就是這個樣子:
[pai@192 002]$ ./ok
ch:
ch: 100001
ch: 100000
我想把數(shù)字轉(zhuǎn)換成字符輸出,但是第一調(diào)用的結(jié)果卻沒有被輸出,我用gdb跟蹤過,執(zhí)行itoc后*ch的值是99999,第一次的不能輸出, 以后的卻可以輸出了,剛學(xué)著使用gdb還不是很懂,請大家?guī)臀铱纯茨抢锍隽藛栴}。 |
|