gpt4 book ai didi

c - 函数调用中的连线错误

转载 作者:行者123 更新时间:2023-11-30 18:41:31 25 4
gpt4 key购买 nike

以下函数应该加密最多 10 个字符的字符串。

#include <stdio.h>
#include <string.h>

void crypt(char*);

int main()
{
//one random message of up to 10 chars and function call.
char str[7] = "george";

crypt(str);

printf("%s",str);
}

//this function crypt's the initial string's message.
void crypt(char str[])
{
int i=0;

while ((i<=10)&&(str[i]!='\0'))
{
if (str[i]<=119) {str[i] = str[i] + 3;}
else if (str[i]==120) {str[i]='a';}
else if (str[i]==121) {str[i]='b';}
else {str[i]='c';}
i++;
}
}

}

相反,DevC++ 给了我这个错误:

***In function 'int main':
[Error] invalid conversion from 'char*' to 'char' [-fpermissive]
[Error] initializing argument 1 of 'void crypt(char)' [-fpermissive]***

如有任何帮助,我们将不胜感激。提前致谢。

最佳答案

你可以尝试这样的事情

void crypt(char* str) // to conform with your prototype
{
for (int i = 0; str[i] != '\0' && i < 10; ++i)
{
if (str[i]<=119) { str[i] = str[i] + 3; }
else if (str[i]==120) { str[i]='a'; }
else if (str[i]==121) { str[i]='b'; }
else { str[i]='c'; }
}
}

关于c - 函数调用中的连线错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21065797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com