运行后的图是:#include <stdio.h>#include <stdlib.h>void invert(char * pString);int main(){ char aString[20]= {0}; char* pCh=NULL; char aResult[20]= {0}; char* pResult=aResult;//特别注意函数中传指针的定义
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/11 22:17:09
运行后的图是:#include <stdio.h>#include <stdlib.h>void invert(char * pString);int main(){ char aString[20]= {0}; char* pCh=NULL; char aResult[20]= {0}; char* pResult=aResult;//特别注意函数中传指针的定义
运行后的图是:
#include <stdio.h>
#include <stdlib.h>
void invert(char * pString);
int main()
{
char aString[20]= {0};
char* pCh=NULL;
char aResult[20]= {0};
char* pResult=aResult;//特别注意函数中传指针的定义
int i = 0,j=0;
printf("请输入一个字符串(长度不能超过20)\n");
scanf("%s",&aString);
while(*(aString+i)!='\0')
{
if(*(aString+i)>=97&&*(aString+i)<=122)
{
*(aString+i)=*(aString+i)-32;
}
printf("%c",*(aString+i));
i++;
}
printf("\n");
printf("逆序结果为:\n");
invert (aString);
for(j=0; j<i; j++)
{
printf("%c",aString[j]);
}
printf("\n");
system("pause");
return 0;
}
void invert(char * pString)
{
int nSize=0;
int i=0;
char temp;
if(pString!=NULL)
{
while(*(pString+nSize)!='\0')
{
nSize++;
}
for(i=0; i<nSize/2; i++)
{
temp=(pString+i);
*(pString+i)=*(pString + nSize-1-i);
*(pString+nSize-1-i)=temp;
}
}
}
运行后的图是:#include <stdio.h>#include <stdlib.h>void invert(char * pString);int main(){ char aString[20]= {0}; char* pCh=NULL; char aResult[20]= {0}; char* pResult=aResult;//特别注意函数中传指针的定义
你这个有错误,竟然能够编译通过.不知道你用的是啥软件.这么不严谨.
在前后逆序子函数中
temp=(pString+i);
应改为
temp=*(pString+i);
char和char *类型不匹配