#include <stdio.h>
char* change_letter_size(char* dest, const char* src)
{
int i = 0;
if(dest == NULL || src == NULL)
{
return NULL;
}
while(*(src + i) != '\0')
{
if((*(src + i) >= 'a') && (*(src + i) <= 'z'))
{
*(dest + i) = *(src + i) - 32;
}
else if((*(src + i) >= 'A') && (*(src + i) <= 'Z'))
{
*(dest + i) = *(src + i) + 32;
}
else
{
*(dest + i) = *(src + i);
}
i++;
}
return dest;
}
int main()
{
char tab1[1000] = {0};
char tab2[1000] = {0};
char *wtab2 = tab2;
printf("Podaj tekst: ");
scanf("%1000[^\n]", tab1);
printf("%s", change_letter_size(wtab2, tab1));
return 0;
}
Oto program zamieniający małe litery w tekście na duże a duże na małe. Czy ktoś mógłby ocenić poprawność kodu i doradzić co poprawić?