这个c语言程序为什么不能正确输出?
这个程序作用是输入一个字符串,通过函数记录数字、字符、特殊符号、空格的个数,然后通过main函数输出个数,但为什么总是不能正确输出?#include"stdio.h"in...
这个程序作用是输入一个字符串,通过函数记录数字、字符、特殊符号、空格的个数,然后通过main函数输出个数,但为什么总是不能正确输出?
#include "stdio.h"
int a,b,c,d;
void result1(char a[])
{
int i;
a=b=c=d=0;
for(i=0;a[i]!='\0';i++)
{
if(a[i]<='9'&&a[i]>='0')
{
a++;
}
else if((a[i]<='z'&&a[i]>='a')||(a[i]<='Z'&&a[i]>='A'))
b++;
else if(a[i]==' ')
c++;
else
d++;
}
}
main()
{
char str[100];
gets(str);
result1(str);
printf("0~9:%d,A~z:%d,space:%d,!@#...:%d\n",a,b,d,c);
} 展开
#include "stdio.h"
int a,b,c,d;
void result1(char a[])
{
int i;
a=b=c=d=0;
for(i=0;a[i]!='\0';i++)
{
if(a[i]<='9'&&a[i]>='0')
{
a++;
}
else if((a[i]<='z'&&a[i]>='a')||(a[i]<='Z'&&a[i]>='A'))
b++;
else if(a[i]==' ')
c++;
else
d++;
}
}
main()
{
char str[100];
gets(str);
result1(str);
printf("0~9:%d,A~z:%d,space:%d,!@#...:%d\n",a,b,d,c);
} 展开
3个回答
展开全部
#include "stdio.h"
int a1,b,c,d;
void result1(char a[])
{
int i;
a1=b=c=d=0; //a是a[]重名了,换成a1,就可以了
for(i=0;a[i]!='\0';i++)
{
if(a[i]<='9'&&a[i]>='0')
{
a1++;
}
else if((a[i]<='z'&&a[i]>='a')||(a[i]<='Z'&&a[i]>='A'))
b++;
else if(a[i]==' ')
c++;
else
d++;
}
}
void main()
{
char str[100];
gets(str);
result1(str);
printf("0~9:%d,A~z:%d,space:%d,!@#...:%d\n",a1,b,d,c);
}
int a1,b,c,d;
void result1(char a[])
{
int i;
a1=b=c=d=0; //a是a[]重名了,换成a1,就可以了
for(i=0;a[i]!='\0';i++)
{
if(a[i]<='9'&&a[i]>='0')
{
a1++;
}
else if((a[i]<='z'&&a[i]>='a')||(a[i]<='Z'&&a[i]>='A'))
b++;
else if(a[i]==' ')
c++;
else
d++;
}
}
void main()
{
char str[100];
gets(str);
result1(str);
printf("0~9:%d,A~z:%d,space:%d,!@#...:%d\n",a1,b,d,c);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询