您的位置:首页 > 其它

字符串反转 单词保持有序

2015-12-15 16:20 330 查看
类似于异或运算

#include <stdio.h>

void swap_char(char *e1, char* e2) {
char c;
c = *e1, *e1 = *e2, *e2 = c;
}

char *reverse_str(char *s) {
char *p = s;
char *q = s;
char *r = s;

do {
if (*p == ' ' || *p=='\0') {
r = p;
--p;
while (q<p) {
swap_char(q, p);
++q, --p;
}

q = r+1;
p = r;
}
++p;
} while (*r != '\0');

q = s;
p = p-2;
while (q<p) {
swap_char(q, p);
++q, --p;
}

return s;
}

int main() {
char s[] = "I am a student. ";

puts(s);
reverse_str(s);
puts(s);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: