Переворот строки: Несовместимость типов int и char - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Есть простенькая программка с функцией reverse, которая изменяет порядок символов строки на обратный
int main(int argc, char *argv[])
{
void reverse(char s[]);
char s[10];
scanf("%d", &s);
reverse(s);
printf("%d\n", s);

    system("PAUSE");
    return EXIT_SUCCESS;
 
           }                                         
void reverse(char s[])
{
     int c, i, j;
     
     for (i=0, j=strlen(i)-1; i<j; i++, j--)
     {
    c=s[i];
    s[i]=s[j];
    s[j]=c;
    }
}
компилятор ругается на несовместимость типов int и char в for (i=0, j=strlen(i)-1; i<j; i++, j--) И ещё =) Не бейте за дурацкий вопрос, но почему при вводе строки через scanf("%d", &s), например при char s[10], при выводе этой строки через printf на выходе получаем не саму строку, а её числовой код и как этого избежать?

Решение задачи: «Переворот строки: Несовместимость типов int и char»

textual
Листинг программы
char s[10];
scanf("%s", s);
reverse(s);
printf("%s\n", s);

Объяснение кода листинга программы

  1. Вводится строка s типа char с размером 10 символов.
  2. С помощью функции scanf вводится строка в s.
  3. Вызывается функция reverse с аргументом s.
  4. Выводится перевернутая строка s с помощью функции printf.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.545 из 5
Похожие ответы