把后边注释,输出头部文件的结果时,输出结果是零;全部输出时结果是31,请问哪里出现错误了?
#include
#include
int temp(int n)
{
if((n%100!=0&&n%4==0)||n%400==0){//1是闰年
return 1;
}
else{
return 0;//0是平年
}
}
int sum(int n)
{ int m,s=0,i;//i是写循环的12个月;m是判断闰年还是平年的temp函数结果;s是天数总和
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
m=temp(n);
if(m==1){
a[1]==28;
}
else{
a[1]==29;
}
for(i=0;i<=11;i+=1){
s=s+a[i];
}
}
int main(int argc, char *argv[]) {
int n,s;
printf("请输入你想知道天数的年份:");
scanf("%d",&n);
s=sum(n);
printf("这年一共有%d天",s);
int s;
printf("%d",s);
}
更改的代码如下所示:
#include <stdio.h>
#include <stdlib.h>
int temp(int n)
{
if((n%100!=0&&n%4==0)||n%400==0){//1是闰年
return 1;
}
else{
return 0;//0是平年
}
}
int sum(int n)
{ int m,s=0,i;//i是写循环的12个月;m是判断闰年还是平年的temp函数结果;s是天数总和
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
m=temp(n);
if(m==1){
a[1]==28;
}
else{
a[1]==29;
}
for(i=0;i<=11;i+=1){
s=s+a[i];
}
return s;
}
int main(int argc, char *argv[]) {
int n,s;
printf("请输入你想知道天数的年份:");
scanf("%d",&n);
s=sum(n);
printf("这年一共有%d天",s);
// int s;
// printf("%d",s);
}
望采纳!!!点击回答右侧采纳即可!!我看了一下你的代码
在sum函数中没有返回s的值,导致s的值为零,应该在sum函数最后加上return s;