字符串只含字母数字汉字可以这么改:
#include <string.h>
#include <stdio.h>
void main()
{
char string[255],*p;
int len1,len2;
p=string;
printf("请输入一个字符串:");
gets(string);
for(;*p;p++)
if(48<=*p&&*p<=57||65<=*p&&*p<=90||97<=*p&&*p<=122)
len1=strlen(p);
else len2=strlen(p)/2;
printf("字符串长度为:%d",len1+len2);
}