Why this dosen't work?
Code:#include <stdio.h>
char* rot13(char*);
int main()
{
char *string = "I'm a string";
printf("%s", rot13(string));
getchar();
return 0;
}
char* rot13(char* string)
{
unsigned int i, c, len = strlen(string);
char ret[len];
for (i=0; i < len; i++)
{
c = (int) string[i];
if (c >= 65 && c <=77) c = c + 13;
else if (c >= 78 && c <=90) c = c - 13;
else if (c >= 97 && c <=109) c = c + 13;
else if (c >= 110 && c <=122) c = c - 13;
ret[i] = (char) c;
}
return ret;
}