我正在尝试用 C 编写一个函数,该函数接受一个字符串,例如:"abc123def"
并以字符串形式返回一个数字:"123"
。
我对 C 的经验很少,所以我想知道我isDigit()
是否正确使用了该函数。我的代码如下,如果有更好的方法来解决问题,我将不胜感激。谢谢!
char findNumber(char *str1)
{
char num1[] = "";
int i = 0;
int j = 0;
while(str1[i] != '\0') {
if(isDigit(str1[i])) {
num1[j] = str1[i];
j++;
}
i++;
}
num1[j] = '\0';
return num1;
}
int main(int argc, const char* argv[])
{
char str2[] = "!3254";
printf(findNumber(str2));
return 0;
}
我收到以下错误:
undefined reference to `isDigit'
和
return makes integer from pointer without a cast
这些可能是什么原因造成的?