建立函数处理,将字符数组首地址做实参传递进去,函数内部用指针的形式解决:逆置整型数组中的元素,即将数组的元素反序存放
int turn(char* data,int datalen)
{
if((data == NULL)||(datalen<=0))
{
return -1;
}
if(datalen> 1)
{
int cyc=datalen/2;
int i=0;
while(i<cyc)
{
char t=data[i];
data[i]=data[datalen-1-i];
data[datalen-1-i]=t;
i++;
}
}
return 0;
}
int main(void)
{
char data[32]={0};
int len=0;
int i=0;
strcpy(data,"hello");
len=strlen(data);
printf("倒序前:");
for(i=0;i<len;i++)
{
printf("%c ",data[i]);
}
printf("\n");
turn(data,len);
printf("倒序后:");
for(i=0;i<len;i++)
{
printf("%c ",data[i]);
}
printf("\n");
}
int main()
{
char data[32]={0};
int len=0;
int i=0;
printf("请输入字符串,最长31个:\n");
scanf("%31s", data);
len=strlen(data);
printf("倒序前:");
for(i=0;i<len;i++)
{
printf("%c ",data[i]);
}
printf("\n");
turn(data,len);
printf("倒序后:");
for(i=0;i<len;i++)
{
printf("%c ",data[i]);
}
printf("\n");
}