В данный момент эта программа успешно переворачивает слово, введенное с клавиатуры.Но я хочу «сохранить» слово в указателе, прежде чем перевернуть его, чтобы я мог сравнить оба, перевернутое и «оригинальное», и проверить, являются ли они палиндромами.У меня пока нет большого опыта, и может быть больше ошибок, чем я знаю, но я не могу найти решение.
#include <stdio.h>
#include <string.h>
void reverse(char s[])
{
int c,i,j;
for(i=0, j=strlen(s)-1; i<j; i++, j--)
{
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
void Palindromcheck(char u[], char g[])
{
if(u == g)
{
printf("Word \"%s\" is a palindrom\n", g);
}
else
{
printf("Word \"%s\" is not a Palindrom\n", g);
}
}
int main()
{
char c[30];
printf("Please enter a value \n");
scanf("%s", c);
char *ptr1 = c;
printf("String: %s\n", c);
reverse(c);
printf("%s\n", c);
Palindromcheck(c, *ptr1);
return 0;
}
Я получаю два предупреждения:
ожидается 'char *', но аргумент имеет тип 'char'
в самой функции palindromcheck
, например:
передача аргумента 2 из 'palindromcheck'делает указатель из целого числа без приведения [-Wint-преобразование]
при вызове функции.
Оцените любую помощь:)