利用指针做函数参数,设计一函数对字母进行简单加密,把当前的小写字母变成对应的大写字母后面的第三个字母,如最后三个字母x、y、z分别变成字母A、B、C;把当前的大写字母变成对应小写字母前面的第3个字母,如前面三个字母A、B、C应分别变成字母x、y、z;其他字符不变。再设计一函数把加密字符还原。
我的源代码段:
输入xyz只输入一个A,出现了什么问题?
char a[100],b[100];
int i,*p,j=0;
gets(a);
p=a;
for(i=0;i<strlen(a);i++)
{
if(a[i]=='x'||a[i]=='y'||a[i]=='z')
{
a[i]=a[i]-55;
b[j++]=*(p+i);
}
else
{
a[i]=a[i]-29;
b[j++]=*(p+i);
}
}
puts(b);
没问题啊,我把你定义的指针变量p换成了char类型,不然会报错
#include<stdio.h>