#include
#include
#include
void upcase(char *inputstring,char **newstring);
int main()
{
char *string=NULL;
upcase("hello",&string);
printf("str1=%s\n",string);
upcase("goodbye",&string);
printf("%str2=%s\n",string);
free(string);
return 0;
}
void upcase(char *inputstring,char **newstring)
{
int counter;
if(!(*newstring))
{
if(!(*newstring=malloc(strlen(inputstring)+1)))
{
printf("error allocating memory!\n");
exit(255);
}
}
else
{
if(!(*newstring=realloc(*newstring,strlen(inputstring)+1)))
{
printf("error reallocating memory!\n");
exit(255);
}
}
strcpy(*newstring,inputstring);
for(counter=0;counter {
if(*newstring[counter]>=97&& *newstring[counter]<=122)
*newstring[counter]-=32;
}
}
printf("%str2=%s\n",string);
第一个%
是多余的。
还有一个错误吧 最后一个for循环
for(counter=0;counter{ 你写的是什么鬼 后面少了一个条件
for(counter=0;counter这个怎么变化没写;最后一个分号也没有写)
{
}
报的什么错误???可以粘贴出来,方便解决问题。