字符串反转 单词保持有序
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; }
相关文章推荐
- lombok安装及使用
- 开启新的学习方式
- PIX
- 原生js的兼容问题总结
- LintCode:二叉树的后序遍历
- POJ 1001 Exponentiation
- halcon自标定记录_转自小马_xiao
- 计算机一级考试模拟题
- python爬虫入门,讲得通俗易懂
- 鸡汤
- codeforces 401D. Roman and Numbers 数位dp
- 训练集(train),测试集(test),验证集(validation)
- javascript 的prototype 和constructor
- stackoverflow:Returning an NSString from an NSError
- Spring 触发器定时器的应用
- 一个优秀的http实现框架
- CAS (4) —— CAS浏览器SSO访问顺序图详解(CAS Web Flow Diagram by Example)
- 贪婪匹配和非贪婪匹配
- Thread及Runnable的使用方式简介
- angular发送multipart/form-data文件的方法