char** strsep(const char* str)
{
char** returnStrings = NULL;
for (int i = 0; i < strlen(str); i++)
{
if (str[i] == ' ') returnStrings[sizeof(returnStrings)/sizeof(returnStrings[0])] = "";
else returnStrings[sizeof(returnStrings)/sizeof(returnStrings[0])] += str[i];
}
return returnStrings;
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试制作一个可以将句子(字符串)拆分为单词数组(也是字符串)的函数,但它不会编译并显示error: implicitly declaring library function 'strlen' with type 'unsigned long (const char *)' [-Werror,-Wimplicit-function-declaration]. 它说我正在输入一个 unsigned long 作为 strlen() 的参数,但我不是。我有#include <stdio.h>我的代码。
我的代码(在 C 语言中)是这样的:
avg = round((r + g + b) / 3);
r = avg;
g = avg;
b = avg;
Run Code Online (Sandbox Code Playgroud)
它应该做灰度图像效果。没有语法错误,但显然是 avg,当如上所示r以 27g和b28 的值计算时,avg 发现它是 27。我知道它是 27.66666 ......当四舍五入时是 28。如果你可以向我解释为什么会发生这种情况round(),和/或给我一个解决方案,真的很感激。