C 缺少原型错误

C 缺少原型错误,c,C,我遇到了一个错误,我不明白,也找不到解决方案 错误如下: 缺少ISA编号的原型 它所指的代码是: double prompt(char *promptString) { printf("%s", promptString); char *input = ""; scanf("%s", &*input); printf("%s\n", &*input); int check = isANumber(input); if (check)

我遇到了一个错误,我不明白,也找不到解决方案

错误如下:

缺少ISA编号的原型

它所指的代码是:

double prompt(char *promptString) {

    printf("%s", promptString);
    char *input = "";
    scanf("%s", &*input);
    printf("%s\n", &*input);

    int check = isANumber(input);


if (check) {
    return (double) *input;
} else {
    return 0.00;
}

}

int isANumber(char *check) {

    int result = 0;    /* Current isdigit() return value */
    do                           /* Check that each character of the...*/
        result = isdigit(*check++);  /* ...string is a digit and move on...*/
    while (result && *check);       /* ...until non-digit found or at EOS */
    return result;  /* Return result of last isdigit() call */

}
图书馆包括:

#include <stdio.h>
#include <limits.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#包括
#包括
#包括
#包括
#包括

任何帮助都将不胜感激:)

您不能像那样转发参考资料。您需要声明或定义
isANumber
,然后才能引用它:

将其放在
提示之前
函数:

int isANumber(char *check);

你错过了你的原型

int isANumber(char *check) {
应该是:

int isANumber(char *);
顶部。

在使用前声明原型:


或者(更简单)交换函数

参数名称在声明中是可选的。您可以编写
intisanumber(char*)
int isANumber(字符*检查)
,以您喜欢的为准。(我更喜欢更明确的版本。)
int isANumber(char *check);