Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 凯撒密码和反向文本程序_C_String_Pointers_Caesar Cipher - Fatal编程技术网

C 凯撒密码和反向文本程序

C 凯撒密码和反向文本程序,c,string,pointers,caesar-cipher,C,String,Pointers,Caesar Cipher,我正在尝试创建一个函数,该函数获取一个字符串和一个数字,如果该数字大于“0”,那么它将使用用户输入的字符串和数字生成caesar密码。 例如->'stack',编号为'3'->'uvdfn'。 如果数字为“0”,则它将反转字符串。 例如—“堆栈”->“kcats” 我不知道代码有什么问题,我没有看到任何错误 /********************************* *类别:MAGSHIMIM C2* *第3周* **********************************

我正在尝试创建一个函数,该函数获取一个字符串和一个数字,如果该数字大于“0”,那么它将使用用户输入的字符串和数字生成caesar密码。 例如->'stack',编号为'3'->'uvdfn'。 如果数字为“0”,则它将反转字符串。 例如—“堆栈”->“kcats”

我不知道代码有什么问题,我没有看到任何错误

/*********************************
*类别:MAGSHIMIM C2*
*第3周*
**********************************
*谢谢你为奥菲克和多尔所做的一切*
*编辑此模板:)*
**********************************/
#包括
#包括
#包括
无效文本(字符*加密文本,整数n);
#定义STR_大小50
内部主(空)
{
字符str[str_SIZE];
int num=0;
printf(“请输入字符串:”);
fgets(str、STRU尺寸、标准尺寸);
printf(“请输入一个数字:”);
scanf(“%d”和&num);
解密文本(str,num);
系统(“暂停”);
返回0;
}
无效解密文本(字符*加密文本,整数n)
{
int i=0;
int j=0;
字符温度=0;
int strLen=strLen(encText);
如果(n>0)
{
对于(i=0;i='x')
{
*(encText+i)=(*(encText+i))-26;
}
*(encText+i)=(*(encText+i))+n;
}
}
printf(“程序解密后的数组:\n”);
printf(“%s”,encText);
}
else如果(n==0)
{
对于(i=0;i=0;j--)
{
温度=*(encText+i);
*(encText+i)=*(encText+j);
*(encText+i)=温度;
}
}
printf(“程序破解后的数组:\n”);
printf(“%s”,encText);
}

}
当反转字符串时,您将从前到后再从后到前交换字母,因此最终得到的字符串与开始时的字符串相同。您也不需要使用所有指针,因为您可以使用数组下标,这使它更具可读性。尝试类似以下内容:

j = strLen-1;
for (i = 0; i < strLen/2; i++, j--) {
    temp = encText[i];
    encText[i] = encText[j];
    encText[j] = temp;
}
j=strLen-1;
对于(i=0;i