这是我正在研究的问题。
“用于加密文本的名为“rotate13”的简单加密方案是通过向前计数 13 个字母将每个字母(a...z 或 A...Z)转换为另一个字母,从 'z' 循环到 'a' 或 'Z ' 如有必要,返回 'A'。编写一个名为 rotate13 的函数,该函数接受一个以 null 结尾的字符串作为参数,并将其转换为其等效的 rotate13。该函数应直接修改字符串,并且不应返回任何内容。记住, “
这是我不断收到的错误
"error C2664: 'rotate13' : cannot convert parameter 1 from 'char (*)[10]' to 'char *[]'"
谢谢您的帮助。这将有助于我在期末考试中的修改。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int rotate13(char *array[]);
int size=10;
int main()
{
char arr[10];
printf("Please enter the letters you wish to encrypt: ");
scanf("%s",&arr);
printf("%s",arr);
rotate13(&arr);
system ("pause");
return 0;
}
int rotate13(char *array[])
{
int pointer;
while(*array[pointer]!='\0')
{
if(isupper(*array[pointer])!=0)
{
if(*array[pointer]<'N')
*array[pointer]=*array[pointer]+13;
else
*array[pointer]=*array[pointer]-13;
}
else
{
if(*array[pointer]<'n')
*array[pointer]=*array[pointer]+13;
else
*array[pointer]=*array[pointer]-13;
}
pointer++;
}
printf("%s", *array);
return 0;
}