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



我是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之前再放一个函数声明。

也要注意主的声明不正确

int main(days)

根据C标准,应像一样声明功能

int main( void )

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

最新更新