Napisz program odwracający łańcuch znaków w miejscu, tzn. bez deklarowania drugiego łańcucha. Zastosuj operacje arytmetyczne na wskaźnikach.
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
#include <stdio.h>
#include <string.h>
void odwrocenie(char *s); /*prototyp funkcji odwrocenie z argumentem wskaźnikiem*/
int main()
{
char ciag_znakow[20]="Jakies zdanie";
odwrocenie(ciag_znakow); /*wywolanie funkcji odwracajacej*/
printf("Ciag znakow po odwroceniu: %s\n", ciag_znakow);
system("pause"); /*funkcja iniciująca zatrzymanie pracy programu*/
return 0;
}
void odwrocenie(char *s)
{
char *wsk=s+strlen(s)-1; /* ustawiam adres wsk na koniec łańcucha*/
char temp; /* zmienna tymczasowa przechowujaca znaki do kopiowania*/
for (;wsk>s;wsk--,s++)
{
temp=*s;
*s=*wsk;
*wsk=temp;
}
}