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, который я объявлял наверху, например. будет ли он до сих пор прилагаться к нему, хотя он объявлен пустым? Если я вычеркнул пустое объявление для массива char, оно все равно печатает пустым. Любая помощь приветствуется.Включить пустую строку в C?
Проверьте свой аргумент на 'strcat'. –
@OliverCharlesworth прав, проверьте определение strcat: '' void strcat (char * dest, char * src) { while (* dest) dest ++; while (* dest ++ = * srC++); } '' –
У меня было по-другому, и по какой-то причине он по-прежнему печатал просто пустое место. – bibzuda7