C语言VC++6.0环境编写程序,输入一位学生生日,并输入当前日期,输出学生年龄,以下是我做的.

来源:百度知道 编辑:UC知道 时间:2024/09/24 02:31:01
#include <stdio.h>
void main()
{
int y0,m0,d0,y1,m1,d1,age;
printf("请输入学生的生日(年,月,日):");
scanf("%d%d%d",&y0,&m0,&d0);
printf("该学生生日是:%d年%d月%d日\n",y0,m0,d0);
printf("请输入当前日期(年,月,日):");
scanf("%d%d%d",&y1,&m1,&d1);
printf("当前日期是:%d年%d月%d日\n",y1,m1,d1);
age=y1-y0;
if(m1<m0||m1==m0&&d1<d0) age--;
printf("该学生年龄为:%d岁\n",age);
else
printf("该学生年龄为:%d岁\n",age);
printf("********end********\n");

}

为什么调试的时候说 :illegal else without matching if
我这if后的表达式没有什么问题啊~~
我是菜鸟,请会做的解释下!谢谢
应该如何改?

应该改为:

if(m1<m0||m1==m0&&d1<d0)
{ age--;
printf("该学生年龄为:%d岁\n",age);
}
else
printf("该学生年龄为:%d岁\n",age);

if后应该跟一个语句或一个语句块,你的是两个语句当然语法错误了
你应该把那两条语句用{和}括起来,组成语句块,这就相当于一个语句了。

回答完毕!