由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 这段代码为何要这样做?
相关主题
初学C,对什么该free一直搞不明白C ++ 问题
再问一个free()的问题difference between: char** p and char*p[] ??
问个c语言的问题C: struct 里面一个CHAR, 一个INT, 这个STRUCT 占多少字节?
怎么得到char *分配空间的大小?我写了一个strcopy的函数,大家看看怎么不对呢?
c的问题来,出个题
经典题atoi的溢出处理 (转载)free(char *)的问题 (转载)
[合集] 请教一个calloc的问题大家看看这个简单的qsort排序的问题
Array in C为什么这个小程序错了?
相关话题的讨论汇总
话题: nz话题: char话题: int话题: pt话题: log
进入Programming版参与讨论
1 (共1页)
s*****r
发帖数: 773
1
一个整数转化为字符串的函数
不太理解里面为什么要用到log
希望大家指点一二
char* itoa(int n) {
char *s =NULL;
char *p;
int nz;

int mf = 0;
if(n>=0) {
nz=log(n)/log(10);

s=(char*)calloc(nz+1,sizeof(char));
p=s;
}else{
if(n==INT_MIN) {
mf=1;
n=-INT_MAX;
}
nz=log(-n)/log(10);
n=-n;
s=(char *)calloc(nz+2,sizeof(char));
p=s;
*p='-';
p++;
}
int pt=pow(10,nz);

while(pt>=1){

if(pt==1&&mf)
*p=(n/pt)+'0'+1;
else
*p=(n/pt)+'0';
p++;
r****r
发帖数: 115
2
算有多少位数字好分配内存给字符串

【在 s*****r 的大作中提到】
: 一个整数转化为字符串的函数
: 不太理解里面为什么要用到log
: 希望大家指点一二
: char* itoa(int n) {
: char *s =NULL;
: char *p;
: int nz;
:
: int mf = 0;
: if(n>=0) {

s*****r
发帖数: 773
3
谢谢,那这里的mf是什么意思呢
另外还有
if(pt==1&&mf)
*p=(n/pt)+'0'+1;
else
*p=(n/pt)+'0';
为什么前面那个要加1后面这个不要呢?

【在 s*****r 的大作中提到】
: 一个整数转化为字符串的函数
: 不太理解里面为什么要用到log
: 希望大家指点一二
: char* itoa(int n) {
: char *s =NULL;
: char *p;
: int nz;
:
: int mf = 0;
: if(n>=0) {

k****f
发帖数: 3794
4
这个代码乱七八糟的
如果n=0,log(0)是没有定义的
itoa怎么会需要浮点的log运算?

【在 s*****r 的大作中提到】
: 谢谢,那这里的mf是什么意思呢
: 另外还有
: if(pt==1&&mf)
: *p=(n/pt)+'0'+1;
: else
: *p=(n/pt)+'0';
: 为什么前面那个要加1后面这个不要呢?

m*****e
发帖数: 4193
5


【在 s*****r 的大作中提到】
: 一个整数转化为字符串的函数
: 不太理解里面为什么要用到log
: 希望大家指点一二
: char* itoa(int n) {
: char *s =NULL;
: char *p;
: int nz;
:
: int mf = 0;
: if(n>=0) {

s*****r
发帖数: 773
6
能够推荐一个好的么,谢谢了
k****f
发帖数: 3794
7
google: itoa source code

【在 s*****r 的大作中提到】
: 能够推荐一个好的么,谢谢了
1 (共1页)
进入Programming版参与讨论
相关主题
为什么这个小程序错了?c的问题
a=(char **)malloc(12*sizeof(char *)) 是什么意思?经典题atoi的溢出处理 (转载)
一个指向指针的指针的引用?[合集] 请教一个calloc的问题
数组问题Array in C
初学C,对什么该free一直搞不明白C ++ 问题
再问一个free()的问题difference between: char** p and char*p[] ??
问个c语言的问题C: struct 里面一个CHAR, 一个INT, 这个STRUCT 占多少字节?
怎么得到char *分配空间的大小?我写了一个strcopy的函数,大家看看怎么不对呢?
相关话题的讨论汇总
话题: nz话题: char话题: int话题: pt话题: log