摘要:
用C语言写一个函数,去除字符串中的空格,并返回删除的空格的个数。不允许开辟新的空间,只能申请简单类型的自动变量。时间复杂度要求为O(n)。
比如:char str[]="dhkak df d fd fdjfkda dfd ff f fd da ";
处理之后: str[]="dhkakdfdfdfdjfkdadfdffffdda";
返回删除空格的个数为:12
算法思想:
先取字符串的长度,然后用前后各一个指针,分别为p,q,使前面一个指向空格,后面一个指向字符,然后用后面的值替换前面的空格,然后用空格替换;p指向下一个空格,q指向下一个值,直到p指向'\0'跳出循环,计算此时字符串的长度,再用处理之前的长度减去处理之后的长度,就可以得到删除的空格的个数。
代码如下: 阅读全文
摘要:
1 #include 2 #include 3 4 class Mystring 5 { 6 public: 7 Mystring(const char * pdata) 8 { 9 if(pdata==NULL)10 {11 ... 阅读全文
摘要:
strcpy、strncpy、memcpy这三个C语言函数我们在主机代码编写中会很频繁的使用到,但是三个函数的区别、使用时该注意什么还是有必要说下的。本文参考《C标准库》编写。一、函数说明1、memcpy函数void*memcpy(void *s1, const void *s2, size_t n... 阅读全文