Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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_Function_Arguments_Character - Fatal编程技术网

如何将字符串中的每个字母转换为另一个字母?在C中

如何将字符串中的每个字母转换为另一个字母?在C中,c,string,function,arguments,character,C,String,Function,Arguments,Character,这是我的第一篇帖子,告诉我格式是否合适。谢谢 我目前正在尝试设计一种算法,它可以实现以下功能: 它要求不同的字母组成一个n位数的字符串,然后它要求一个关键字母“cypher key”,然后它转换字符串中的每个字母并添加关键字母,例如: How many characters? 3 Next character (1/3)? h Next character (2/3)? a Next character (3/3)? l -> [ h a l ] Caesar cyph

这是我的第一篇帖子,告诉我格式是否合适。谢谢 我目前正在尝试设计一种算法,它可以实现以下功能:

它要求不同的字母组成一个n位数的字符串,然后它要求一个关键字母“cypher key”,然后它转换字符串中的每个字母并添加关键字母,例如:

How many characters? 3  
Next character (1/3)? h  
Next character (2/3)? a  
Next character (3/3)? l  
-> [ h a l ]  
Caesar cypher key? b  
Encrypting...  
-> [ i b m ]  
这里我留下了代码应该做什么的另一个示例:

How many characters? 3  
Next character (1/3)? z  
Next character (2/3)? h  
Next character (3/3)? h  
-> [ z h h ]  
Caesar cypher key? a  
Encrypting...  
-> [ z h h ]  
在本例中,当a=0时,字母将是相同的

当你可以使用se时,它会要求一定数量的字符,也就是字符串的大小,然后你可以输入数字,然后它打印数字,然后它会要求密钥字母,它会“加密”字符串,然后它会显示相同的字符串,但密钥字母的值会添加到字符串的每个字母中

显然,为了使之成为可能,必须使用ASCII表

我不太擅长使用字符串和函数,因此可能导致了一些错误

在这里,我给代码留下了注释(//…),供您查看:

#包括
#包括
#定义尺寸20
//带有无返回值函数的参数,用于使用“密码键”更改str1的值。
无效移动字母(字符str1[],字符密码){
int i;
内伦;
len=strlen(str1);
//循环转换字符串的每个字符和密码键值
对于(i=0;i[%s]\n”,str1);
printf(“凯撒密码匙?”);
scanf(“%s”、&cypher\u键);
//这里我有我的疑问,因为我真的不知道这是否是向
//函数并将其返回到主
移动字母(str1,密码匙);
printf(“加密…\n”);
printf(“->[%s]”,str1);
返回0;
}
由于某种原因,它在最后一个printf中没有打印任何内容,所以我不理解在void函数或其他地方会发生什么


最后的printf有效。没问题。换一条新的线,这样你可以看得更清楚

printf ("-> [%s]\n", str1);

最后一次打印有效。没问题。换一条新的线,这样你可以看得更清楚

printf ("-> [%s]\n", str1);

嘿,Yoan,谢谢你的评论。你能不能把你的代码发给我,让我看看我到底在哪里犯了错误,因为它在最后一次printf中没有打印任何东西。谢谢@Sergi212我的密码和你的一样。也许问题出在你的机器上。你如何编译和运行你的代码?嘿,Yoan,谢谢你的评论。你能不能把你的代码发给我,让我看看我到底在哪里犯了错误,因为它在最后一次printf中没有打印任何东西。谢谢@Sergi212我的密码和你的一样。也许问题出在你的机器上。如何编译和运行代码?