关于VC++数组,利用函数输出大写字母,为什么只能输出4个字母?

2025-03-04 13:20:53
推荐回答(1个)
回答1:

函数内的地址需要输出需要用static


#include

char*ToUpper(char*inchar);

int main(){
char str[10]={'a','b','c','d','e','f','g','h','i','\0'};

printf("%s\n",ToUpper(str));

}

char*ToUpper(char* inchar){
    static char str[10];
int i=0;

while(*(inchar+i)!='\0'){
  if('a'<=*(inchar+i)&&*(inchar+i)<='z')
  *(str+i)=*(inchar+i)-('a'-'A');
  else
           *(str+i)=*(inchar+i);
  i++;

}
    return str;
}