1
문자열 s1
의 각 문자를 문자열 s2
의 모든 문자와 일치하는 squeeze 함수를 생성하려고합니다.다른 문자열의 문자와 일치하는 문자열의 문자 삭제
내가 컴파일 할 때 어떤 오류가 있다고 말할 수는 없지만 어떤 이유로 인쇄되지 않습니다. 누군가 내가 여기서 잘못하고있는 것을 말해 줄 수 있습니까?
void squeeze(char s1[], char s2[]);
int main() {
char s1[] = "abc";
char s2[] = "cde";
squeeze(s1, s2);
printf("%s\t%s", s1, s2); // nothing is being printed...
}
void squeeze(char s1[], char s2[])
{
int i,j,k;
/* i is original s1 index
* j is s2 index
* k is new s1 index
*/
for (i = k = 0; s1[i] != '0'; i++){
for (j = 0; s2[j] != '0'; j++){
if (s1[i] == s2[j])
s1[k++] = s1[i];
}
}
s1[k] = '\0';
}
'! = '\ 0''이 (가) 의도 한 것입니다. ''0 ''은 숫자 0이며, 널 종결자가 아닙니다. – user3386109
나는 ''0 ''대신에 루프에서 ''\ 0 ''을 사용하려고한다. 프로그램이 충돌하는 것 같습니다. –
트릭을 해 주셔서 감사합니다 :) – ALKI