#include <stdio.h>
int change(char *d){
int a = 0, b = 0;
for (; *d != '\0 '; d++)
{
if (*d >= 'a' && * d <= 'z')
a++;
else if (*d >= 'A' && * d <= 'Z')
b++;
else //如果输入字符串只有字母可以这样,防止遍历超出你实际输入的字符串
break;
}
printf("字符串中小写字母个数为:%d\n", a);
printf("字符串中大写字母个数为:%d", b);
return 0;
}
int main()
{
char m[80], *t = m;
printf("请输入字符串:");
gets_s(m);
change(t);
getchar();
return 0;
}
char m[80] ={0},*t = m;数组初始化一下。
第4行,for循环后面多了一个分号,把分号去掉
第7行,多了一个右括号,去掉最后面一个)
有两个错误,一个是第7行最后多了一个),第二个错误是你的change函数没有返回值。
另外,有一个不太好的地方是,你的if...else if...最好还有一个else
有三个错误:
1、第4行多了个分号;
2、第7行多了个)
3、int change()函数要有返回值 return 0; 或者定义成 void change(char *d)