永发信息网

c指针问题求教大神

答案:2  悬赏:80  手机版
解决时间 2021-11-21 01:28
c指针问题求教大神
最佳答案
#include 

int del_substr(char *str , char const *substr);

int main()
{
char str1[] = "asdfghjkl";//<-----------------
char *str2 = "dfg";

del_substr(str1 , str2);

printf("%s
" , str1);

return 0;
}

int del_substr(char *str , char const *substr)
{
char *currChar = str;
char *currSubChar = (char *)substr;
int subLen = 0;

if (*substr == 0) //空串
return 1;

while(*currChar)
{

if ( *currChar == *currSubChar)
for (subLen = 0 ; *(currSubChar +subLen ); subLen ++)
if ( *(currChar + subLen) != *(currSubChar + subLen ) )
break;


if ( !*(currSubChar + subLen) )
{
for ( ; *currChar ; currChar ++)
*currChar = *(currChar + subLen );

* ++currChar = 0; //给字符串结尾

return 1;
}

currChar ++;
}

return 0;
}
全部回答
第一个函数的两个指针是局部变量,函数完了就销毁了,换不换都一样,第二个是直接操作指针指向的地方(内存单元),也就是直接操作变量。不恰当的比方,好比停车,有个图纸记录了每个车位停的什么车,第一个就相当于另外拿了个图纸画了一下想要的位置,原来的图没变,函数结束后来的图被扔了,原来的图保留着,实际的车并没动,第二个函数就是直接把车开到想要它停的位置
求采纳为满意回答。追问我这个只有两个参数,在函数中进行的操作啊,函数操作位置应该没问题吧。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求一个好名字,我女儿是2008/12/05下
港澳台职工可以不可以在大陆缴纳公积金并贷款
江苏双沟酿酒厂谷福缘价格
怎么用简单的菜做素菜
麻烦翻译以下选段,不要逐字逐句地翻,句型尽
ps4 想用直连,结果提示无法在限时内取得ip地
视频直播APP系统哪个比较好稳定
正常人为什么嫌弃残疾人
lt is a may in day
目前109什么门派比较吃香 比武比较吃香
中国历史上国都被攻陷而国家未灭亡的王国?
t4dna ligase 和 e.coli ligase 有什么异同
男人对女人说你要顾心和顾家是什么意思
虎年快到了,家里想买老虎的吉祥物,不过家里
“中庸”“和”的精神实质是什么?
推荐资讯
抄写经书前必须洗澡吗?
我复习了快一个月省公务员考试了,行测昨天测
老九门启月夫妇吻图全部
涡卷发条的概述
求一部耽美古风文,美人受
乾宇世纪地址在什么地方,我要处理点事!
喝滴鸡精跟直接吃鸡有什么不同吗?觉得滴鸡精
家装打的气钉眼怎么处理不上绣!
混凝土小型砌块的强度等级有哪些
三星s7较s5在外放音质上有所提升吗?
班超有什么故事?
你记得我吗 年幼的我啊 是薛之谦的那首歌?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?