执行问题。

puzzle1986 2008-10-10 03:36:28
题目是输入1个年份和某一天,算出是几月几日,代码写完执行,发现问题:在输入y,n后程序就不走了,而要再输入任意N个字符回车后才会得出正确结果,为什么?

main( )
{

int y, m, f, n;
int a[12] = {31,28,31,30,31,30,31,31,30,31,30,31};

printf( "y, n = " );
scanf( "%d, %d ", &y, &n );
f = y%4 == 0 && y%100 != 0 || y%400 == 0;
a[1] += f;
for ( m = 1; n > a[ m - 1 ]; n -= a[ m - 1 ], m++ )
{
;
}
printf( "y = %d, m = %d, d = %d \n", y, m, n );

}
...全文
48 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbh2001 2008-10-10
  • 打赏
  • 举报
回复
将scanf( "%d, %d ", &y, &n ); ---->scanf( "%d, %d", &y, &n );
格式串最后多了一个空格

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧