请问一个关于scanf的输入有关问题。

请教一个关于scanf的输入问题。。。。。。
C/C++ code
scanf("%d %d %d",&(p->year),&(p->month),&(p->day));

比如上面那个用scanf输入的语句,我本来是想时间格式按照“年 月 日”(比如2008 8 8)输入的,中间用空格结束,最后用回车结束,这样的话时间就排在了一行上,但是我发现它也可以在输入一个时间后按回车,然后再输入再按回车,最后按回车结束,这样我知道虽然没错,但是年、月、日被分成了3行,看起来不够美观,我想问下怎样才能解决这个问题?

------解决方案--------------------
用fgets 读到一个字符串里,再拆分
------解决方案--------------------
探讨
引用:

想阻止用户按回车换行? 算了吧,你控制不了的
额。。。我的确是有这个念头,如果做不到的话,那我应该改用什么输入方法???

------解决方案--------------------
对,就现在这样挺好。需要严格控制的话必须使用GUI。也就是MFC、QT之类的开发,与你现在学习的东西相差太远,留在以后解决吧。