前言:感谢大家能够点进这篇文章,相信小编不会让你失望的,让我们来了解C语言的反向打印!
二.反向打印的实现 1.递归C语言数组反向打印无非是将数组的首元素与最后一个元素进行交换!然后再进行下一位元素的交换
//将一组字符串反向打印;
void reverse_string(char* str)
{char tmp = *str;//定义一组空的空间
int len = strlen(str);//计算字符串长度
*str = *(str + len - 1);//进行交换
*(str + len - 1) = '\0';
if (len >= 1)//判断是否需要递归
{reverse_string(str + 1);
}
*(str + len - 1)=tmp;
}
int main()
{char arr[] = {"abcdefg" };
printf("%s\n", arr);
reverse_string(arr);
printf("%s\n", arr);
return 0;
}
2.非递归void reverse_string(char *str,int sz)
{int left = 0;
int right = sz - 1-1;//数组下标且字符串中含有'\0'
while (left<= right)
{char tmp = str[left];
str[left] = str[right];
str[right] = tmp;
left++; right--;
}
}
int main()
{char arr[] = {"abcdefg" };
int sz = sizeof(arr) / sizeof(arr[0]);
printf("%s\n", arr);
reverse_string(arr,sz);
printf("%s\n", arr);
return 0;
}
3.结果演示
感谢大家能够阅读这篇文章!
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧