gpt4 book ai didi

c - c中函数的声明和使用

转载 作者:太空宇宙 更新时间:2023-11-04 06:54:00 24 4
gpt4 key购买 nike

我找不到这段代码中的错误。我正在尝试编写一个程序,根据日、月和年返回一年中的天数(例如:60)[例如:1/3/2000(2000 年 3 月 3 日)]。

编译器给我这些错误:

  • too few arguments to function 'day_of_year'
  • conflicting types for 'day_of_year'
#include <stdio.h>

int day_of_year(int day, int month, int year);

int main(){
int day, month, year, i, count=0;
int a[]={31,28,31,30,31,30,31,31,30,31,30,31};
printf ("Enter the day: ");
scanf ("%d", &day);
printf ("Enter the month: ");
scanf ("%d", &month);
printf ("Enter the year: ");
scanf ("%d", &year);
count=day_of_year();
printf ("Count: %d", count);
return 0;
}

int day_of_year (int day, int month, int year, int i, int count){
int a[]={31,28,31,30,31,30,31,31,30,31,30,31};
if (year%4==0) a[2]++;
count = day;
for (i=0;i<month;i++)
count+=a[i];
return count;
}

最佳答案

声明:

int day_of_year(int day, int month, int year);

调用:

count=day_of_year();

定义:

int day_of_year (int day, int month, int year, int i, int count){

C 是一种强类型语言,这意味着函数参数的数量和类型非常匹配。

因此,您需要更正参数列表并将缺少的参数添加到函数调用中。

看起来您并不真的需要定义中的最后两个参数 - 而是将它们声明为局部变量:

int day_of_year (int day, int month, int year){
int i, count;

关于c - c中函数的声明和使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47347651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com