Мне сказали, что нулевой символ или 100 '\0'
служит для определения конца строки.
Но я в тумане, поскольку до сих пор сталкивался с двумя программами, в котором не использовалось то же самое (нулевой символ).
Все три программы имеют дело с strlen()
, и я не могу экстраполировать его значение и / или присутствие в этой.
char st[20], rst [20]; // Edit: Added these string declarations!
int i, j;
printf("\n Enter the string : ");
scanf("%s",st);
i= 0;
j = strlen(st) - 1;
while (j >= 0)
{
rst[i] = st[j];
i++;
j--;
}
rst[i] = '\0';
if(strcmp(st, rst) == 0)
printf("\n %s is a palindrome string", st);
else
printf("\n %s is not a palindrome string", st);
И похоже, что включение или исключение нулевого символа не влияет на результат.
Но мне любопытно, почему автор может счесть необходимым добавить его.