C 返回值不返回

C 返回值不返回,c,C,我写了一个word_模式函数,如下所示 我没有得到返回值,代码怎么了 下面是codewars培训 我没有得到返回值,代码怎么了 下面的代码将ans[0]设置为0,即空字符 将返回指针打印为字符串不会在字符串立即结束时打印任何内容。大小是多少?中断;如果i==0,则终止外部for循环。是否改为使用continue?是否希望返回值为以0结尾的字符串?如果是这样,当i为0时,chari是'\0',它是字符串终止符。因此,您的返回值将看起来像一个空值string@Merrifield你用@标记人,他们会

我写了一个word_模式函数,如下所示

我没有得到返回值,代码怎么了

下面是codewars培训

我没有得到返回值,代码怎么了

下面的代码将ans[0]设置为0,即空字符


将返回指针打印为字符串不会在字符串立即结束时打印任何内容。

大小是多少?中断;如果i==0,则终止外部for循环。是否改为使用continue?是否希望返回值为以0结尾的字符串?如果是这样,当i为0时,chari是'\0',它是字符串终止符。因此,您的返回值将看起来像一个空值string@Merrifield你用@标记人,他们会被自动通知。>>做nothing@Siguze对不起,我漏掉了,我已经填好了。我打算把数字转换成字母。我该怎么做?@Merrifield你说的把数字转换成字母是什么意思?您的意思是将数字512转换为包含512的字符串吗?@Shovo>>您的意思是将数字512转换为包含512的字符串吗?是的。@Merrifield我已经编写了一个程序来进行转换。你可以查一下电话号码。为了更好地观看,我通过Pastebin@Shovo谢谢,但该页面已不再可用。
#include <stdlib.h>
#include <string.h> //strlen
#include <ctype.h> //islower

char *word_pattern(const char *word) {
  int i, j;
  int size = strlen(word) ;
  char *ans = (char*)malloc(sizeof(char) * (size * 2 ));

  char *base = ans;

  if (ans == NULL)
  {
    return NULL;
  }

  for (i = 0; i < size; i++)
  {
    if (i == 0)
    {
      *ans++ = (char)i;
      *ans++ = '.';
      /*break;*/ continue;
    }

    for (j = 0; j < i; j++)
    {
      if ( islower(word[i]) == islower(word[j]) )
      {
        *ans++ = (char)j;
        *ans++ = '.';
        break;
      }
    }
    
    if(j == i)
    {
      *ans++ = (char)i;
      *ans++ = '.';
    }
  }

  *--ans = '\0';
  return base;
}
if (i == 0) {
  *ans++ = (char)i;