#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void encry(char*plain,char*cipher);
int main(){
char ch[201];
scanf("%s",ch);
char str[402]="\0";
char *plain=ch;
char *cipher=str;
encry(plain,cipher);
strrev(cipher);
printf("%s",cipher);
}
void encry(char*plain,char*cipher){
char str[3];
int i=0;
int t=0;
for(i=0;i<strlen(plain);i++){
t=*(plain+i)-24;
sprintf(str,"%d",t);
strcat(cipher,str);
}
}
辅助解释说检查是否正确使用头文件,但strrev的头文件不就是string.h吗?
想知道strrev函数到底哪里错了
strrev属于非标准函数,部分编译器不予支持
自己写一个
char* strrev(char *str)
{
char *p1, *p2;
if (! str || ! *str)
return str;
for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2)
{
*p1 ^= *p2;
*p2 ^= *p1;
*p1 ^= *p2;
}
return str;
}