ml232528 发表于 2008-5-31 22:53

如何返回字符串

char* f(int x)
{
   char a[9]="00000000";
   for(int i=0;x;i++)
    {
      a[7-i]=x%2+48;x=x/2;
      }
   return a;
}

我想返回字符串啊可是失败了
请高手指点一下 谢谢了

sunkaidong 发表于 2008-5-31 22:54

用string类型

flyue 发表于 2008-6-1 11:44

char* f(int x)
{
   char *a = new char[9];
   memset(a, 9, 9);
   for(int i=0;x;i++)
   {
      a[7-i]=x%2+48;x=x/2;
   }
   return a;
}
但是这样如果处理不好的话,很容易发生“内存泄露”,所以用完了数据要及时“delete 返回的指针”

ml232528 发表于 2008-6-1 14:44

memset(a, '0', 9);
谢谢了

页: [1]

编程论坛