void decode(char *str, int j)
{
int i;
char s[100]="";
i = strlen(str);
//Print each uppercase character in the string
if(j<i)
{
if(isupper(str[j]))
{
strcat(&str[j], s);
j++;
decode(str, j);
}
else
{
j++;
decode(str, j);
}
}
else
printf("%s\n", s);
}
이 함수는 str (대수)의 대문자 만 인쇄합니다. 그러나 인쇄 된 것은 현재 빈 공간입니다. 뭔가 strcat에 대한 나의 이해가 잘못되었다. 그것이 상단에 선언 된 문자 배열에 대해 그렇게 작동하는지 잘 모르겠습니다. 비어있는 것으로 선언 되더라도 여전히 추가됩니까? char 배열에 대한 빈 선언을 꺼내면 여전히 비어 있습니다. 어떤 도움을 주셔서 감사합니다.C에서 빈 문자열에 연결 하시겠습니까?
'strcat'에 인수 순서를 확인하십시오. –
@OliverCharlesworth가 맞습니다. strcat 정의를 확인하십시오. void strcat (char * dest, char * src) { while (* dest) dest ++; while (* dest ++ = * srC++); }'' –
나는 다른 방법으로 가지고 있었고 어떤 이유로 든 빈 공간 만 출력했습니다. – bibzuda7