为什么我的函数返回 1 而不是变量值?
Why is my function returning 1 and not the variable value?
我是 C 的新手,正在为我的大学课程学习它。我正在学习函数并且必须创建一个函数,其中没有任何 printf
或 scanf
,只是一个计算一周有多少天的函数。
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[] )
我是 C 的新手,正在为我的大学课程学习它。我正在学习函数并且必须创建一个函数,其中没有任何 printf
或 scanf
,只是一个计算一周有多少天的函数。
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[] )