gpt4 book ai didi

c - 重新定义;之前的定义是 'data variable'

转载 作者:行者123 更新时间:2023-11-30 17:39:38 26 4
gpt4 key购买 nike

好吧,我快要疯了。我应该为类(class)编写一个程序,确定您输入的年份中的天数(考虑闰年),但我觉得我不知道自己在做什么。在我的压力水平进一步上升之前,我将不胜感激能获得的任何帮助。在能够测试我的程序(我怀疑它是否有效)之前我遇到的最终错误是:

error C2365: 'leap' : redefinition; previous definition was 'data variable'

error C2365: 'count' : redefinition; previous definition was 'data variable'

源代码:

#include <stdio.h>

int main(void){

int d, m, y, x, day, leap, count;


//Input values for date
printf("\n Input the Day: ");
scanf_s("%f", &d);

printf("\n Input the Month: ");
scanf_s("%f", &m);

printf("\n Input the Year: ");
scanf_s("%f", &y);
//End input

int count(int m, int day);

int leap(int y, int x);



if (x == 1){
printf("\nThe day of the year is %f", day + 1);
}
else{
printf("\nThe day of the year is %f", day);
}

system("pause");
return(0);
}


//Count the number of days
int count(int m, int day, int d){
if (m == 1){
day = d;
}
if (m == 2){
day = 31 + d;
}
if (m == 3){
day = 59 + d;
}
if (m == 4){
day = 90 + d;
}
if (m == 5){
day = 120 + d;
}
if (m == 6){
day = 151 + d;
}
if (m == 7){
day = 181 + d;
}
if (m == 8){
day = 212 + d;
}
if (m == 9){
day = 243 + d;
}
if (m == 10){
day = 273 + d;
}
if (m == 11){
day = 304 + d;
}
if (m == 12){
day = 334 + d;
}
return(day);
}

//Determine if it's a leap year
int leap(int y, int x){
if (y % 400 == 0){
x = 1;
}
else if (y % 100 == 0){
x = 0;
}
else if (y % 4 == 0){
x = 1;
}
else{
x = 0;
}
return(x);
}

最佳答案

以下是main()中不允许的函数声明(局部函数定义是非法的)。您应该将它们放在 main() 之前。

int count(int m, int day);
int leap(int y, int x);

此外,根据您的定义,count() 的函数声明应该是:

int count(int m, int day, int d);

并删除int Leap, count;,它是数据类型的声明(这里是int)而不是函数的声明。

如果你想在main()中调用它们,只需使用:

count(m, day, d);
leap(y, x);

关于c - 重新定义;之前的定义是 'data variable',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21745012/

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