fgets函数的函数原型:char *fgets(char * ch,int mode,FILE *fp);其中mode是代表的是读取字符串的长度,考虑到'\0',所以能获取到S数组里面只有三个字符,也就是S[0],S[1],S[2].你可以修改fgets(s, 4, stdin);中4来验证,例如修改为8,fgets能取到mode -1 个字母,但是S 只能放5个,你也就只能打印到S[4].
你自己修改试一下
4改成5。s[4]存放'\0'。
c++/c 数组是从0开始计数