Массив указателей на строки предоставляется в качестве входных данных. Задача состоит в обращении каждой строки, хранящейся во входном массиве указателей. Я создал функцию reverseString (), которая переворачивает переданную ей строку. Эта функция работает правильно, насколько я знаю.
Строки, сохраненные / на которые имеются ссылки во входном массиве указателей, отправляются одна за другой в функцию reverseString (). Но код зависает в какой-то момент в функции reverseString (), когда значения переданной строки меняются местами с помощью временной переменной. Я не могу понять, почему код зависает при обмене значениями. Пожалуйста, помогите мне с этим.
Код выглядит следующим образом:
#include <stdio.h>
void reverseString(char*);
int main()
{ char *s[] = {"abcde", "12345", "65gb"};
int i=0;
for(i=0; i< (sizeof(s)/sizeof(s[0]) ); i++ )
{ reverseString(s[i]);
printf("\n%s\n", s[i]);
}
getch();
return 0;
}//end main
void reverseString(char *x)
{ int len = strlen(x)-1;
int i=0;
char temp;
while(i <= len-i)
{ temp = x[i];
x[i] = x[len-i];
x[len-i] = temp;
i++;
}
}//end reverseString