C语言从字符串中删除指定字符,用指针,能删除多个不同字符, 比如字符串是ABCDEFG 删除AG,输出BCDEF

在booltrimstring函数中定义两个指针,指针1为字符串,指针2为要删除的字符。建立一个布尔型的函数,删除指针1中含有指针2的字符后则把指针2的内存释放,判断为真... 在bool trimstring函数中定义两个指针,指针1为字符串,指针2为要删除的字符。建立一个布尔型的函数,删除指针1中含有指针2的字符后则把指针2的内存释放,
判断为真输出修改后的字符串,为假则输出错误信息,
然后在主函数main中给指针赋值,调用bool trimstring输出结果。
展开
 我来答
free逍遥星空
推荐于2017-10-06 · TA获得超过344个赞
知道小有建树答主
回答量:231
采纳率:100%
帮助的人:207万
展开全部
//注释掉的是根据题目规则编的
//自我感觉,不要注释的更好,作为函数不应该封装这么多
#include <stdio.h>
#include <string.h>
#define STR_LEN 30
//#define error_info "没有需要删除的字符"
bool trimstring(char* str1, char* str2){
//int flag = 0;
int idx1 = 0, idx2 = 0;
while (str1[idx2] != '\0'){
if (strchr(str2, str1[idx2]) != NULL){
idx2++;
//flag = 1;
}
str1[idx1++] = str1[idx2++];
}
str1[idx1] = '\0';
/*if (flag == 0){
printf(error_info);
return false;
}
else{
printf("%s", str);
return true;
}*/
return true;
}
int main(){
char str1[STR_LEN] = "ABCDEFG", str2[STR_LEN] = "AG";
trimstring(str1, str2);
printf("%s", str1);
return 0;
}
追问
用指针啊   别用数组
追答
不是一样么,题目说的指针就是用来传数组用的。。而且把str1[idx2]改成*(str1+idx2),汇编出来是一模一样的,没什么区别啊。。而且函数的参数也设的是指针,和题目相符啊。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式