为什么运行结果不对,谢谢

 

#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)