Указатели в функциях не возвращают правильные значения - PullRequest
0 голосов
/ 21 ноября 2018

Итак, у меня есть пример кода в Dev C ++, в котором я пытаюсь поменять местами значения s1 и s2 и распечатать его, но каким-то образом значения не меняются.Я проверил функцию, и она правильно отображает правильные значения, но в основном значения не меняются.

 void swap_pointers(char *x,char *y){
     char *tmp;
     tmp = x;
     x = y; 
     y = tmp; 
     printf("%s\n",x);
     printf("%s\n\n",y);
}

int main()
{
     char *s1, *s2;
     s1 = "I should print second";
     s2 = "I should print first";

     swap_pointers(s1,s2);
     printf("-AFTER SWAPPING-\n\n");
     printf("s1 is %s\n",s1);
     printf("s2 is %s\n",s2);

     return 0;
 }
...