大家帮我看看这个iota函数返回的是不是栈指针???谢谢了~~~
#include <stdio.h>
#include <stdlib.h>
#include "declear.h"
char *itoa(int value, char *string, int radix )
{
int index = 0;
int i;
int tem;
int len;
char *result = string;//result算不算是
if (value < 0)
{
value = -value;
*string++ = '-';
}
if (radix == 10)
{
//逆序
while (value)
{
string[index] = (value % radix) + '0';
++index;
value = value / radix;
}
string[index] = '\0';
//变成顺序
len = index;
i = len - 1;
for (index = 0; index < len/2; index++)
{
tem = string[i];
string[i] = string[index];
string[index] = tem;
--i;
}
}
return result;//result算不算是返回的是栈指针?
}
int main()
{
int test = -123453;
char a[100];
printf("%s\n", itoa(test, a, 10));
return 0;
}
[解决办法]
不是!
result 和string 指向的是同一块地址!
只要string有效,那么result就也是有效的!