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