【c语言】字符串替换空格:请实现一个函数,把字符串中的每一个空格替换成“%20”
// 字符串替换空格:请实现一个函数,把字符串中的每一个空格替换成“%20”。
// 比如输入“we are happy.”,则输出“we%20are%20happy.” #include <stdio.h>
#include <assert.h> char* replace(char* p)
{
char* ret = p;
int num = 0;
int oldlen = 0;
int newlen = 0;
char* q = p;
char* r;
assert(p != NULL);
while (*p != '\0')
{
if (*p == ' ')
{
num++;
}
oldlen++;
p++;
}
p = q;
newlen = oldlen + 2 * num;
q = p + oldlen - 1;
r = p + newlen - 1;
while (q != r)
{
if (*q == ' ')
{
*r-- = '0';
*r-- = '2';
*r-- = '%';
}
else
{
*r = *q;
r--;
}
q--;
}
return ret;
} int main()
{
char p[20] = "we are happy.";
printf("原字符串是:%s\n", p);
printf("替换后的字符串是:%s\n", replace(p));
return 0;
} <img src="http://img.blog.csdn.net/20150704100218180?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
【c语言】字符串替换空格:请实现一个函数,把字符串中的每一个空格替换成“%20”的更多相关文章
- 在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作。一次移动操作指用一个"LX"替换一个"XL",或者用一个"XR"替换一个"RX"。现给定起始字符串start和结束字符串end,请编写代码,当且仅当存在一系列移动操作使得start可以转换成end时, 返回True。
在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作.一次移动操作指用一个"LX"替换一个"XL ...
- php array_rand()函数从数组中随机选择一个或多个元素
php使用array_rand()函数从数组中随机选择一个或多个元素的方法. 使用array_rand() 函数从数组中随机选出一个或多个元素,并返回. array_rand(array,numbe ...
- go语言笔记——append是内置的函数!!!new是一个函数!!!调试可以使用闭包,本质上是print调试,尼玛!
内置函数 Go 语言拥有一些不需要进行导入操作就可以使用的内置函数.它们有时可以针对不同的类型进行操作,例如:len.cap 和 append,或必须用于系统级的操作,例如:panic.因此,它们需要 ...
- [shell]上一个命令执行完成,才执行下一个操作 | shell脚本中判断上一个命令是否执行成功
shell脚本中判断上一个命令是否执行成功 shell中使用符号“$?”来显示上一条命令执行的返回值,如果为0则代表执行成功,其他表示失败.结合if-else语句实现判断上一个命令是否执行成功. 场 ...
- 写一个函数判断字符串中"{"与"}","["与"]","("与")"匹配,"{"必须在"}"前面,"["必须在"]"前面,"("必须在")"前面,可以嵌套
boolean matchBracket( String str ) { Stack stack = new Stack(); try { for ( int i = 0; i < str.le ...
- 编写一个函数,在页面上输出一个N行M列的表格,表格内容填充0~100的随机数字
function print(n,m){ document.write("<table>"); for(var i=0; i<n; i++){ ...
- C#真他妈神奇,一个函数都不用写就能实现一个简单的邮件发送工具
MailMessage EmaillMessage = new MailMessage( //创建一个对象 new MailAddress(loning.Te ...
- 苹果新的编程语言 Swift 语言进阶(六)--函数和闭包
一 .函数 1.1. 函数的定义和调用 函数的定义以funckeyword作为前缀,接着是函数名字,接着跟着一个能够带有參数.也能够不带參数的圆括号.接着用-> 指示函数的返回类型. 函数运行体 ...
- GO语言系列(四)- 内置函数、闭包与高级数据类型
一.内置函数.递归函数.闭包 内置函数 1. close:主要用来关闭channel 2. len:用来求长度,比如string.array.slice.map.channel 3. new:用来分配 ...
- bug日记之---------js中调用另一个js中的有ajax的方法, 返回值为undefind
今天做一个OCR授权的需求, 需要开发一个OCR弹框, 让用户选择是否授权给第三方识别公司(旷世科技)保存和识别用户个人信息, 照片等. 其中用到了在一个js的方法中调用另外一个js的方法, 其中有一 ...
随机推荐
- php域名授权实现方法
php域名授权实现方法 域名授权的目的:维护知识产权. php实现域名授权有很多方法,比如: 1.本地验证法. 2.在线验证法. 不管是那种方法,其实原理都是一样的. 今天我就举一个本地验证的例子! ...
- JS——正则案例
验证座机号码 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UT ...
- JS——html基本结构
document.title——文档标题 document.head——文档头标签 document.body——文档的主体 document.documentElement 表示整个文档的html标 ...
- JS——arguments
1.只在函数中使用 2.返回的是实参的数组 <script> getNum(1, 2);//(2) [1, 2, callee: ƒ, Symbol(Symbol.iterator): ƒ ...
- 您厉害您赚得多:聪明投资者的聊天记录,雪球CEO的21条投资理念
3星|<您厉害您赚得多>:雪球创始人的投资理念.原则.技巧,及其在雪球上跟一些用户的互动的内容 作者是雪球创始人.CEO,全书基本是作者的一些投资理念+作者在雪球上跟用户的互动的内容,还有 ...
- centOS安装python3 以及解决 导入ssl包出错的问题
参考: https://www.cnblogs.com/mqxs/p/9103031.html https://www.cnblogs.com/cerutodog/p/9908574.html 确认环 ...
- Ubuntu 18.04 安装chrome浏览器
参考 https://blog.csdn.net/cyem1/article/details/86297197 一分钟安装教程! 1.将下载源加入到系统的源列表(添加依赖) sudo wget htt ...
- S3C2440中断
韦东山老师一期中断课程学习: 总结: 程序启动后工作流程,程序从0地址开始执行Reset --> 重定位 -->ldr pc,=main [绝对跳转到SDRAM中执行main()函数] ...
- 最基础的rpm命令
rpm -ivh package.rpm 安装一个rpm包 rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告 rpm -U package.rpm 更新 ...
- 线索二叉树【C语言】
#include<stdio.h> #include<stdlib.h> typedef char ElemType; typedef enum{Link,Thread} Po ...