一个简单的终端输入,如何就进如死循环了呢

一个简单的终端输入,怎么就进如死循环了呢 ?
代码如下
#include   <iostream>
#include   <string>
using   namespace   std;

int   main()
{
          string   word;
          while   (   cin   > >   word   )
              cout   < <   "word   read   is:   "   < <word < <   '\n ';
          cout   < <   "ok:   no   more   words   to   read:   bye!\n ";
          return   0;
}
结果:
[lijing@localhost   test]$   g++   -o   prog2.out   prog2.c
[lijing@localhost   test]$   ./prog2.out
lijing   jinglin   lijing   jinglin
word   read   is:   lijing
word   read   is:   jinglin
word   read   is:   lijing
word   read   is:   jinglin


问题是怎么while进入死循环了呢?老死在等待输入
我搞不明白  
问题比较菜   还望高手们给赐教下   分给的少点   因为没有分发~

------解决方案--------------------
linux系统?
ctrl_d结束输入。
windows系统是ctrl_z
------解决方案--------------------
你沒有個終止條件,當然循環下去了