明灯三千826 2021-12-07 05:39 采纳率: 100%
浏览 35
已结题

输入时,为什么不能加换行符?

问题:
多实例测试。首先输入一个整数n,表示测试实例的个数,然后是n行,每行是一个18位身份证号。

输出
对于输入的每个身份证号,输出一行,即其对应的出生日期,输出格式为:yyyy-mm-dd。

样例输入
3
410106199411178657
410104198202095479
410122197911218097
样例输出
1994-11-17
1982-02-09
1979-11-21
代码:
#include <stdio.h>

int main()
{
int n,i,year,month,day;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%*6d%4d%2d%2d%*d\n",&year,&month,&day);/为什么不能加换行符'\n'/
printf("%4d-%02d-%02d\n",year,month,day);
}
return 0;
}
(为什么输入时加了换行符,只能输出两组数据?)

展开全部

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-12-07 05:54
    关注

    加换行符的话,意味着你在输入时,第一个换行符会被认为是格式化内容,而不是作为真正的换行。实际等于你要输入两个换行才行,否则第一个换行后输入的内容都是无效的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    明灯三千826 2021-12-07 06:08

    谢谢了!

    回复
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 12月14日
  • 已采纳回答 12月7日
  • 创建了问题 12月7日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部