c语言指针翻转字符串
时间: 2023-11-18 21:54:58 浏览: 210
C语言指针实现字符串的反转
C语言中,可以使用指针来翻转字符串。具体实现方法有多种,以下是两种常见的方法:
1. 使用指针交换字符的位置,直到翻转完成。
代码如下:
```
void reverse_string(char *string) {
char temp_pch = '\0';
char *pstr = string;
int len=0;
int i = 0;
if(*string == '\0') {
printf("The string is null.\n");
} else {
while(*string++ != '\0') {
len++; /*取字符串长度*/
}
pstr = string-2; /*取完长度后,指针指向字符串末尾的结束字符位置,需要移动到末尾一个有效字符上。*/
string = string-len-1; /*指针重新移到字符串头部*/
for(i=0; i<len/2; i++) {
temp_pch = *string;
*string = *pstr;
*pstr = temp_pch;
string++;
pstr--;
}
}
}
```
2. 使用指针和数组下标交换字符的位置,直到翻转完成。
代码如下:
```
int strReverse(char *s) {
int i,n;
char ch;
n=strlen(s);
for(i=0;i<=(n-1)/2;i++) {
ch=*(s+i);
*(s+i)=*(s+n-1-i);
*(s+n-1-i)=ch;
}
puts(s);
putchar(10);
return 0;
}
```
以上两种方法都可以实现字符串的翻转,具体使用哪种方法取决于实际情况。
阅读全文