指针数组赋值问题,各位大牛求帮组
下面是我的程序:
#include <stdio.h>
#include <string.h>
#include <unistd.h>
int main()
{
char int_buf[3];
char *buf[5];
char *buf1 = int_buf;
int i,m = 0;
char* IntToStr(char* buf, int m);
m = 0;
while(1)
{
m = 0;
for(i=0;i<5;i++)
{
buf1 = IntToStr(buf1,i);
buf[m] = buf1;
m++;
}
buf[m] = '\0';
for(m = 0;m<5;m++)
{
printf("buf[%d] = %s\n",m,buf[m]);
}
printf("******************\n");
sleep(2);
}
return 0;
}
char* IntToStr(char* buf, int m)
{
char tmp[16];
int isNegtive = 0;
int index;
if(m < 0)
{
isNegtive = 1;
m = - m;
}
tmp[15] = '\0';
index = 14;
do
{
tmp[index--] = m % 10 + '0';
m /= 10;
} while (m > 0);
if(isNegtive)
tmp[index--] = '-';
strcpy(buf, tmp + index + 1);
return buf;
}