为什么最后一个结果会输出好多次

就像这样:

img


题目和代码:

img

img


#include <stdio.h>
int main()
{
int year, month, day;
while (1)
{
scanf("%d-%d-%d", &year, &month, &day);
if (month < 10)
printf("0%d/", month);
else
printf("%d/", month);
if (day < 10)
printf("0%d", day);
else
printf("%d", day);
if (year<1000)
printf("/0%d\n", year);
else
printf("/%d\n", year);
}
return 0;
}

#换上这句
while ((scanf("%d-%d-%d", &year, &month, &day))!= EOF)

如果有用可以采纳+关注哦

你那个图片哪里来的。你用Debug跟踪一下

img

供参考:

#include <stdio.h>
int main()
{
    int year, month, day;
    while (scanf("%d-%d-%d", &year, &month, &day) == 3)//ctrl + z 结束输入
                printf("%02d/%02d/%04d",month,day,year);
    return 0;
}