printf打印指针所指的内容,出错,
#include <stdio.h>
#include <stdlib.h>
char* tochar(int num)
{
char str[10] = {0};
int val;
int wei=0;
int inum = num;
while(inum /= 10)
{
wei++;
}
for (;num;num /= 10,wei--)
{
str[wei] = num%10+48;
}
return str;
}
void main ()
{
int num = 12345;
char * istr = NULL;
istr = tochar(num);
while(*istr != '\0')
{
printf("%c\n",*istr);
istr++;
}
system("pause");
}
各位大神,main函数中while循环打印,打印出乱码。运行printf后,为什么指针istr的内容就变成乱码了??