Переворот строки: Несовместимость типов int и char - C (СИ)
Формулировка задачи:
Есть простенькая программка с функцией reverse, которая изменяет порядок символов строки на обратный
компилятор ругается на несовместимость типов int и char в for (i=0, j=strlen(i)-1; i<j; i++, j--)
И ещё =) Не бейте за дурацкий вопрос, но почему при вводе строки через scanf("%d", &s), например при char s[10], при выводе этой строки через printf на выходе получаем не саму строку, а её числовой код и как этого избежать?
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»
textual
Листинг программы
char s[10]; scanf("%s", s); reverse(s); printf("%s\n", s);
Объяснение кода листинга программы
- Вводится строка
s
типаchar
с размером 10 символов. - С помощью функции
scanf
вводится строка вs
. - Вызывается функция
reverse
с аргументомs
. - Выводится перевернутая строка
s
с помощью функцииprintf
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д