c语言实现字符串的倒叙
时间: 2023-05-21 12:06:45 浏览: 105
可以使用指针来实现字符串的倒序,具体代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
printf("请输入一个字符串:");
gets(str);
int len = strlen(str);
char *p1, *p2;
p1 = str;
p2 = str + len - 1;
while (p1 < p2) {
char temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
printf("倒序后的字符串为:%s\n", str);
return 0;
}
相关问题
c语言实现字符串反转
Sure! 下面是一个使用C语言实现字符串反转的例子:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char* str) {
int left = 0;
int right = strlen(str) - 1;
while (left < right) {
char temp = str[left];
str[left] = str[right];
str[right] = temp;
left++;
right--;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
// 去除换行符
str[strcspn(str, "\n")] = '\0';
reverseString(str);
printf("反转后的字符串为:%s\n", str);
return 0;
}
```
你可以运行这段代码,输入一个字符串,然后它会输出反转后的字符串。希望对你有所帮助!如果你有任何其他问题,请随时提问。
用c语言实现字符串strtok
在C语言中,可以使用库函数`strtok`来实现字符串的分割。strtok`函数可以将一个字符串按照指定的分隔符进行分割,并返回分割后的子字符串。
`strtok`函数的原型如下:
```c
char *strtok(char *str, const char *delim);
```
其中,`str`是要分割的字符串,`delim`是分隔符。第一次调用时,需要将要分割的字符串作为参数传入;之后的调用,将传入NULL作为参数。每次调用`strtok`函数,它会返回分割后的子字符串,并将原字符串中的分隔符替换为NULL。
下面是一个使用`strtok`函数实现字符串分割的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello,World,How,Are,You";
const char delim[] = ",";
char *token = strtok(str, delim);
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, delim);
}
return 0;
}
```
运行上述代码,输出结果为:
```
Hello
World
How
Are
You
```
注意事项:
- `strtok`函数会修改原字符串,将分隔符替换为NULL。如果不希望修改原字符串,可以先将原字符串拷贝到一个临时变量中再进行分割。
- 在多线程环境下,`strtok`函数是不可重入的,可以使用`strtok_r`函数来实现线程安全的字符串分割。