用C语言指针编写将一个字符串前后倒置的函数(要求用指针实现),并调用此函数将一个字符串前后倒置
时间: 2024-03-14 12:48:16 浏览: 26
好的,以下是用C语言指针编写将一个字符串前后倒置的函数:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str) {
int len = strlen(str);
char *start = str;
char *end = str + len - 1;
while (start < end) {
char tmp = *start;
*start++ = *end;
*end-- = tmp;
}
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
reverse_string(str);
printf("倒置后的字符串是:%s\n", str);
return 0;
}
```
函数`reverse_string`的参数是一个指向字符串的指针,函数首先计算字符串的长度,然后使用两个指针`start`和`end`分别指向字符串的开头和结尾。接下来,函数使用一个循环来交换`start`和`end`指向的字符,直到`start`指针超过了`end`指针。最后,函数返回,字符串就被倒置了。
在`main`函数中,我们首先使用`scanf`函数读入一个字符串,然后调用`reverse_string`函数将其倒置,最后输出倒置后的字符串。
希望这个程序对你有所帮助!
相关问题
用C语言指针编写一个字符串复制的函数
下面是一个用C语言指针编写的字符串复制函数:
```c
#include <stdio.h>
void copy_string(char *target, char *source);
int main() {
char source[100] = "Hello, World!";
char target[100];
copy_string(target, source);
printf("Source string: %s\n", source);
printf("Target string: %s\n", target);
return 0;
}
void copy_string(char *target, char *source) {
while (*source) {
*target = *source;
source++;
target++;
}
*target = '\0';
}
```
在这个函数中,我们使用了指针来迭代源字符串中的每个字符,并将其复制到目标字符串中。在循环中,我们首先将源字符复制到目标字符的位置,然后将指针向前移动一位。最后,我们在目标字符串的结尾插入一个空字符,以确保该字符串以空字符结尾,这是C语言字符串的要求之一。
C语言实现编写连接两个字符串的函数,并调用此函数连接两个字符串
以下是C语言实现连接两个字符串的函数,并调用此函数连接两个字符串的示例代码:
```c
#include <stdio.h>
#include <string.h>
void mystrcat(char *dest, const char *src) {
while (*dest) {
dest++;
}
while (*src) {
*dest++ = *src++;
}
*dest = '\0';
}
int main() {
char str1[20] = "Hello, ";
char str2[] = "world!";
mystrcat(str1, str2);
printf("%s\n", str1); // 输出:Hello, world!
return 0;
}
```