设计程序:字符串输入输出验证:循环配合%c读入串发生没想到的“段错误”

字符串输入输出验证:循环配合%c读入串发生没想到的“段错误”
输入并输出一个不带空格的字符串。注意本题输入样例的字符串后教师设置时不带换行。目前是%s和gets可以正确读入。循环配合%c读入(while((s[i]=getchar())!='\n') i++ ; s[i]=0; )会发生 “段错误”、测试失败。

输入格式:
Hellochina!

输出格式:
Hellochina!

输入样例:
Hellochina!
输出样例:
Hellochina!

s数组大小是多大,i是否越界了?