一段自编代码 输入一段字母加数字 分离它们 出了点小问题
#include void main()
{char a[1000],*p;
int i,n;
static f=0,k=0;
printf("输入一段字母(不包含空格)\n");
scanf("%s",&a);
for(i=0;a[i]!='\0';i++); printf("这段字母的长度是(不包括空格)%d\n",i);
p=a;
char b[1000],c[1000];
for(n=0;n<10000;n++)
{if(('a'<=*(p+n)&&*(p+n)<='z')||('A'<=*(p+n)&&*(p+n)<='Z'))
b[f]=*(p+n),f++;
else if('0'<=*(p+n)&&*(p+n)<='9')
c[k]=*(p+n),k++;
}
b[i+1]='\0',c[i+1]='\0';
printf("%s,%s\n",b,c);
}
结果我给个数字 比如 输入kkk123 它输出是 kkkIVPV,1230422 特别郁闷 我认为是有后面几个元素是随机的 但是看看自己的代码好像没啊 到i+1 个就直接'\0'了不是吗?