指针运算符*(间接寻址符)的优先级低于自增运算符
*lower++; 这条语句意为指针lower指向下一个内存,然后取其地址
(*lower)++; 真正想要让指针指向的内容自增应该加个括号
另外,如果想要通过一个无返回值的函数改变变量的值,或者想通过一个函数改变多个变量的值,就可以用这种方法,将指向变量的指针作为函数的形参
void count(char * str, int * upper, int *lower, int *space, int *num, int*other)
{
int i;
for(i=0;str[i]!='\0';i++)
{
if(str[i]>='A'&&str[i]<='Z')
{
(*upper)++;
}
else if(str[i]>='a'&&str[i]<='z')
{
(*lower)++;
}
else if(str[i]==' ')
{
(*space)++;
}
else if(str[i]>='0'&&str[i]<='9')
{
(*num)++;
}
else
{
(*other)++;
}
}
}
另外也可以设置全局变量来在无返回值函数中对变量的值进行操作