关于输入回车的问题

#include <stdio.h> #define N 100 int main() { char a[N]; char *p=&a[0]; printf("enter a message:"); do{ *p=getchar(); p++; }while(*p!='\n' && p<&a[N-1]);/*在输入 '\n'和输入达到上限的时候退出输入*/ printf("reversal is:"); for(p;p>=&a[0];p--) printf("%c",*p); return 0; }为什么我在没有达到100个字符的上限时输入回车以后依然是要求我继续输入呢?