回复 2楼 peng880610
感谢你的代码
我改了一下又问了一下老师
这是改后能运行的:
#include<stdio.h>
#include<stdlib.h>
void sort(char s[],int *a,int *b,int *c,int *d)
{
int i;
char *p=s;
for(i=0;*(p+i)!='\0';i++)
{
if(p[i]>='A' && p[i]<='Z'||p[i]>='a'&& p[i]<='z')
(*a)++;
else if(p[i]>='0' && p[i]<='9')
(*b)++;
else if(p[i]==' '||*p=='\t'||*p=='tab')
(*c)++;
else (*d)++;
}
}
int main()
{
FILE *fp;
char s[1000]={0};
int i=0, alpha=0, digit=0, brk=0, other=0;
if ((fp=fopen("d:\\text.txt","rb"))==NULL)
{
printf("无法打开此文件\n");
exit(0);
}
while(!feof(fp))
{
s[i++]=fgetc(fp);
}
sort(s, &alpha, &digit, &brk, &other);
printf("字母:%d\n数字:%d\n空格键:%d\n其他字符:%d\n",alpha,digit,brk,other);
fclose(fp);
return 0;
}