面试题准备(01)-反转句子中单词的顺序
来源:互联网 发布:淘宝质量问题如何投诉 编辑:程序博客网 时间:2024/04/30 19:00
这道题查了很久的资料,最后还是找同学发现了问题。一开始是 char *a="I am a boy!"这样赋值的,这是一个字符串常量,其在程序中是存放在常量区的,其值是不能改变的。
一个已经犯了两次的错误。写在这记录下这个错误。
//反转句子中单词的顺序 2015.7.5#include <stdio.h>#include<string.h>void ReverseWord(char* p, char* q) //单词两边对称交换{ while(p < q) { char t = *p ; *p++ = *q ; *q-- = t ; }} char * ReverseSentence(char *s) //使用字符指针,要考虑以‘\0结束的情况’{ char *p = s ; // point to the first char of a word char *q = s ; //after moved,point to a white space or '\0'int n=strlen(s); while(*q != '\0') { if (*q == ' ') //指针q一直自增,知道为第一个单词与第二个单词之间的空格 { ReverseWord(p, q - 1) ; //调用这个函数后,指针q不在所期望的位置上 q++ ; // move to next word p = q ; } else q++ ; } //最后一个单词的情况,以‘\0’结束 ReverseWord(p, q - 1) ; // Reverse the last word q=s+n-1; //指针q指向整个句子的结尾 ReverseWord(s, q ) ; // Reverse the whole sentence return s ;}void main(){char a[]="I am a boy!";char *b=ReverseSentence(a);printf("%s",b);//printf(ReverseSentence(a));printf("\n");}
0 0
- 面试题准备(01)-反转句子中单词的顺序
- 面试题42:翻转单词顺序(句子反转)
- 微软,Google面试题 (7) —— 反转句子中单词的顺序
- 一个面试题:翻转句子中单词的顺序
- 【程序员面试题】翻转句子中单词的顺序
- 经典面试题:翻转英文句子中单词的顺序
- 反转句子中单词的顺序。
- 面试题38:翻转句子中单词的顺序,单词内字符的顺序不变
- 程序员面试题精选(7):翻转句子中单词的顺序
- 翻转句子中单词的顺序(程序员面试题精选100题)
- 反转句子的单词顺序
- 面试题:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。
- 面试题:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。
- 输入一个句子,反转句子中单词的顺序,单词内的字符顺序不变
- C语言 反转句子中单词的顺序
- 反转句子单词顺序
- 翻转句子中单词的顺序和字符串的旋转操作 c++面试题
- 程序员面试题精选100题(07)-翻转句子中单词的顺序(代码已重写)
- Google-Guice入门介绍
- eXtremeDB 中索引字段不能为空
- 算法与数据结构八日谈之五——数学相关
- leetcode Minimum Depth of Binary Tree
- Ipython
- 面试题准备(01)-反转句子中单词的顺序
- Java 位操作
- 大数据环境下集成R语言的数据挖掘系统 之 数据分析
- H264中的SPS、PPS提取与作用
- hdoj 3440 House Man 【差分约束】 【经典建模】
- Fragment的简单使用
- 时区间时间的转换
- iOS后台网络任务
- 精英意志(一)