打印形参c后继的字母,如果超过z则从a在开始,大小写不变 例如c=a,d=2,则输出bc c=y,d=2,则输成za #include <stdio.h> #pragma warning (disable:4996) void fun(char c, int d) { int i; char A[26], a[26], *ptr; for (i=0; i<26; i++) { A[i] = 'A' + i; //将后继的字母赋予数组 a[i] = 'a' + i; } if ((c >= 'a') && (c <= 'z')) ptr = a; //判断是不是小写字母,小写用数组a else ptr = A; //大写用数组A for (i=1; i<=d; i++) printf("%c", ptr[(c-ptr[0]+i) %26] ); //(c-ptr[0]+i) 当前字符c-ptr所指的元素 //偏移量小于等于26,所以对26求余 } main( ) { char c; int d; printf("please input c & d:\n"); scanf("%c%d", &c, &d); fun(c, d); }