字符串替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
限制:
0 <= s 的长度 <= 10000
打码实现
char* replaceSpace(char* s)
{
//初始化字符串数组
char *str = calloc( strlen(s)*3+1,sizeof(char));
//获取输入的字符串,如果为空格则在字符串数组中存入%20
int k = 0;
for(int i = 0; i < strlen(s);i++)
{
if(s[i] != ' ')//注意:取得是单个字符使用的是单引号
{
str[k++] = s[i];
}
else{
str[k++] = '%';
str[k++] = '2';
str[k++] = '0';
}
}
return str;
}
C语言知识点
1、函数calloc()
函数原型如下:
void *calloc(size_t nitems, size_t size)
参数
-
nitems:被分配的元素个数
-
size:元素的大小
返回值
calloc返回指向已分配内存的指针,如果分配失败返回NULL
例子:分配内存空间,大小为5个int所占内存的空间
int *a;
a = (int*)calloc(5, sizeof(int));
注意:malloc 和 calloc 之间的不同点是,malloc 不会设置内存为零,而 calloc 会设置分配的内存为零。
2、“ ”和**’’**区别
’a’ 表示是一个字符,“a” 表示一个字符串相当于 ‘a’+’\0’;
’’ 里面只能放一个字符;
"" 里面表示是字符串系统自动会在串末尾补一个 0。
3、strlen函数
计算字符串长度