Расшифруйте общественности что вы имеете ввиду под "свернуть". Такой операции ни над указателями ни над строками не существует в природе.
Знаю операцию "свертка", но она мало применима к строкам и указателям :)
Chemodan228, т.е. обменять?
Ну поскольку в Си строки это указатель на char, то просто свапните указатели на соответствющие строки. С самими строками ничего делать не нужно. Точно так же как свапали бы целые значения.
Chemodan228, Эти const относятся к строками. Сами строки константные и не изменяются, а вот указатели вполне можно менять.
const char *str; // не константный указатель на константную строку
const char * const str; // константный указатель на константную строку
char * const str; // константный указатель на не константную строку
Ну и добавьте сюда сами еще варианты для указателя на указатель на char. В этом случае вообще возможно 3 раза в типе использовать const и все 3 будут означать разные типы.
Почитайте что-нибудь про указатели - это самая сложная тема в Си ну и самая нужная, если вы дальше планируете развиваться как Си программист.
Roman, этот трюк с обменом значений полезно знать, но область его применения -- ассемблер, когда нет свободных регистров. Других ситуаций когда его стоило бы применять я не могу придумать.