看看这个小程序有问题没?删除字符串里指定字符
#include <string.h>
#include <stdio.h>
char *fun(char*s,char c)
{
int i;
char *p=s;
char *ppPtr=p;
for (; *s!='\0'; s++)
{
if(*s!=c)
*p++=*s;
}
*p='\0';
return ppPtr;
}
int main()
{
char szTemp[20]="Hello,world";
char *pStr;
pStr=szTemp;
printf("Init str=%s\n",pStr);
pStr= fun(szTemp, 'H');
printf("str = %s\n",pStr);
return 0;
}
昨晚去面试,要写一个删除字符串里的指定字符,没做对。。
后来再网上找到这个,在VC6.0里面编译运行成功。。。
但是有点疑问:
在函数 fun中
定义指针:char *ppPtr=p;
在函数末尾居然用retur返回了这个指针?
个人觉得这个指针变量分配内存在践区,在函数运行完的时候内存应该被销毁了,这里用return 返回指针应该有问题吧?
请大家讨论和指点下!
#include <stdio.h>
char *fun(char*s,char c)
{
int i;
char *p=s;
char *ppPtr=p;
for (; *s!='\0'; s++)
{
if(*s!=c)
*p++=*s;
}
*p='\0';
return ppPtr;
}
int main()
{
char szTemp[20]="Hello,world";
char *pStr;
pStr=szTemp;
printf("Init str=%s\n",pStr);
pStr= fun(szTemp, 'H');
printf("str = %s\n",pStr);
return 0;
}
昨晚去面试,要写一个删除字符串里的指定字符,没做对。。
后来再网上找到这个,在VC6.0里面编译运行成功。。。
但是有点疑问:
在函数 fun中
定义指针:char *ppPtr=p;
在函数末尾居然用retur返回了这个指针?
个人觉得这个指针变量分配内存在践区,在函数运行完的时候内存应该被销毁了,这里用return 返回指针应该有问题吧?
请大家讨论和指点下!
...全文
相关推荐
JAVA 从一个字符串中删除指定字符
接受用户输入的一个字符串和一个字符,把字符串中所有指定的字符删除后输Java字符串中删除指定子字符串的方法,是Java入门学习中的基础知识,需要的朋友可以下载参考下
6.请编写一个函数void fun(char a[],char b[],int n),其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的
6.请编写一个函数void fun(char a[],char b[],int n),其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。 例如,输入一个字符串World,然后输入3,则调用该函数后的结果为Word。 #include <stdio.h> #include <conio.h> #define LEN 20 void fun(char a[],char b[],int n){ int k=0; fo
c语言删除字符串中指定的所有字符
速度很快的哦,在windows 和 linux 下都经过测试了,可以放心使用,没有bug
C#字符串删除指定字符串|字符串删除子字符串
C#字符串删除指定字符串|C#字符串删除子字符串
python删除字符串中指定字符的方法
主要介绍了python删除字符串中指定字符的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


