这个问题其实有点难的,1. 如果你用char buff[N] 这种方式来存储字符串,N你是无法确定的。此时你需要这样做:int n;cout<<"请输入字符串长度";cin>>n;char *buff= new char[n+1]; //动态申请内存,为字符串结束标记留一个未知,所以加1方法2:你在程序前面 #include 然后就可以这样定义了string str;cin>>str; 这个长度不确定的问题,就抛给系统去处理了。