你好,让我们说我有2个字符串,“今天是美好的一天”和“AO”。我想删除出现在第一个字符串中的第二个字符串的字符。比较元素
这是我的问题:
char c[20];
char p[10];
int i,j;
int l1,l2;
printf("Enter a string \n");
scanf("%s",cd);
printf("Enter another string \n");
scanf("%s",car);
len1 = strlen(cd);
len2 = strlen(car);
for (i=0;i<len1;i++){
for (j=0;j<len2;j++){
if (cd[i]==car[j]){
cd[i]="";
}
}
}
我要的是第1串像 “TDY是好的DY”。所以我清空元素相同的位置以便稍后重新定位。
显然 “CD [I] ==汽车[J]。” 不能是c上做的,我得到了“从 '为const char *' 到 '炭' 转换无效。
所以我几乎卡住了。我会感谢任何帮助。
如何'CD []'和'的char []'声明并初始化?请给[mcve]。无论如何,比较两个角色的平等没有问题。这是你的下一个问题。 –
1)发布真实且完整的错误消息。 2)发布'cd'和'car'的声明。 – chux
打开警告。这段代码甚至不应该编译,因为你正在为'char'指定一个'const char *',即指向一个整数的指针:'cd [i] =“”;'字符串文字'“”'是当分配给某个东西时转换为指针,而cd [i]'大概是'char'。你有一个'char'数组。你不能只是开始分配指针并期待有意义的结果。 –