输入数字会消失一个,xyz也不会回到开头

对输入的小写英文字符变换到后面第三个字符最简的代码是怎么样啊?只要小写英文字符,只向后变换3个字符
C 语言

img


#include <stdio.h>
#include <string.h>
main()
{
  char str[30];
  int i;
  printf("input:");
  gets(str);
  for(i=0;str[i]!='\0';i++)
     if(str[i]>='a'&&str[i]<='z')
     {
         str[i]=str[i]+3;
         if(str[i]>'z')
            str[i]=str[i]-26;
     }
  printf("output:");
  puts(str);
  printf("\n");
}

img