为什么我的函数返回 1 而不是变量值?

Why is my function returning 1 and not the variable value?

我是 C 的新手,正在为我的大学课程学习它。我正在学习函数并且必须创建一个函数,其中没有任何 printfscanf,只是一个计算一周有多少天的函数。

int main(days)
{

    int weeks;

    printf("\nPlease enter a number of weeks: ");
    scanf("%i", &weeks);

    weekstodays(weeks);

    printf("\nThere are %i days in %i weeks.\n", days, weeks);
    return 0;
}
int weekstodays(weeks){

    int days;

    days = weeks * 7;
    printf("%i", days);

    return(days);

}

每当我构建和 运行 时,main 函数输出 1 天,但 weekstodays 函数输出所需的结果。 (weekstodays函数中的printf只是为了看days的值) 有谁知道为什么 weekstodays 函数没有正确返回 day 变量?

您没有在该语句中使用函数的返回值

weekstodays(weeks);

int days = weekstodays(weeks);

注意函数声明不正确

int weekstodays(weeks){

int weekstodays(int weeks){

在 main 之前再放置一个函数声明。

注意main的声明也不正确

int main(days)

根据 C 标准,函数应声明为

int main( void )

int main( int argc, char * argv[] )