```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], temp
int len, i
char *p1, *p2
printf("请输入一个字符串:")
scanf("%s", str)
len = strlen(str)
p1 = str
p2 = str + len - 1 // 指向字符串最后一个字符
for (i = 0i <len/2i++) {
temp = *p1
*p1 = *p2
*p2 = temp
p1++
p2--
}
printf("逆序存放后的字符串为:%s", str)
return 0
}
```
程序先从键盘输入一个字符串,然后获取字符串的长度和指向字符串首尾的指针。接着,使用指针交换相应位置上的字符,完成字符串逆序存放。最后输出逆序存放后的字符串。
注意,字符串的长度可能为奇数或偶数,因此在for循环中应该只交换字符串长度除以2个字符即可。
1、其实头函数每个都需要用到的就是#include <stdio.h>,因为程序里面涉及到了输出和输入字符串以及字符。#include <string.h>。
2、其次就是要定义两个相同容量的字符串储存的变量 char a[100] char b[100]。以及整数变量 int c int i=0,j=0其中a[100]是存字符串的,b【100】是存你删除对应字符的字符串的,整数C是你想删除第几位。j ,i 是后面for循坏中要使用到的变量。
3、 printf("请输入你的字符串") scanf("%s",a) printf("请输入你想要删除第几位字符") scanf("%d",&c)。
4、 for(i=0i<strlen(a)i++) { if(i+1!=c) { b[j]=a[i] j++ } } printf(" %s",b) } 。
5、只要当i+1不等于c时把a【i】里面的字符赋给b【i】,那么这样当i+1=c时不把它赋给b【i】从而实现删除功能。
6、最后就给大家完整的看一下整体的一个代码流程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)