c++字符输入后莫名多了几个?字符

#include<stdio.h>
#include<string.h>
int main()
{
char s[80]; int a=0,b=0,c=0,d=0,g=0; gets(s); while(s[g]!='\0') { if(s[g]<='Z'&&s[g]>='A'||s[g]<='z'&&s[g]>='a') { b++; } else if(s[g]>='0'&&s[g]<='9') { a++; } else if(s[g]==' ') { c++; } else { d++; } g++; } printf("%s\n",s); printf("%d\n",strlen(s)); printf("数字有%d个英文字母有%d个空格有%d个其他字符有%d个\n",a,b,c,d); return 0;}

#include<stdio.h>
#include<string.h>
int main()
{
char s[80]; int a=0,b=0,c=0,d=0,g=0; gets(s); while(s[g]!='\0') { if(s[g]<='Z'&&s[g]>='A'||s[g]<='z'&&s[g]>='a') { b++; } else if(s[g]>='0'&&s[g]<='9') { a++; } else if(s[g]==' ') { c++; } else { d++; } g++; } printf("%c\n",s[1]); printf("%d\n",strlen(s)); printf("数字有%d个英文字母有%d个空格有%d个其他字符有%d个\n",a,b,c,d); return 0;}
逗号是中文吧,一个中文字符占两个字节的