无法调用该函数...我不明白为什么未调用该函数,我缺少了什么?

时间:2020-05-12 09:43:19

标签: c struct

在此程序片段中,我试图调用case_wise函数,但是尽管我在main函数中调用了该函数,但并未调用此函数,因此,在我创建错误的任何地方都可以吗?谢谢

 struct country{
    char country_name[30];
    int active_cases;
    int recovered_cases;
    int dead_cases;
    };

void cases_wise(struct country count[], int n );

int main(){

    int i, n;
    printf("***********WELCOME***********\n");
    printf("Enter the number of countries: \n");
    scanf("%d", &n);
    struct country count[10];
    for(i=0; i<n; i++){
        printf("Enter the name ");
        scanf("%s", &count[i].country_name);

        printf("Enter the number of active cases ");
        scanf("%d", &count[i].active_cases);

        printf("Enter the number of recovered cases ");
        scanf("%d", &count[i].recovered_cases);

        printf("Enter the number of dead cases ");
        scanf("%d", &count[i].dead_cases);

    }

    cases_wise(struct country count[], int n);
    return 0;
}

2 个答案:

答案 0 :(得分:2)

在您的主要帐户中:

<option value=""></option>

原型。这不是一个电话。要调用该函数,请删除类型名称:

cases_wise(struct country count[], int n);

答案 1 :(得分:0)

第一个问题是Paul Ogilvie在您的代码中的答案。您的程序还有其他需要改进的地方:

scanf("%s", &count[i].country_name);

请勿将&用于字符串,而添加%29s以避免溢出:

scanf("%29s", count[i].country_name);

您的for循环还需要另一个条件ii < 10,因为数组count的大小为10。

for(i=0; i<n && i < 10; i++){
  // your code
}