【发布时间】:2017-02-26 19:36:10
【问题描述】:
我正在编写这个 C 程序,它接受一个命令行参数,然后加密用户稍后输入的文本。
我们通过命令行输入一个用于加密的数字。例如,如果我们从命令行输入一个数字 1,然后用户想要加密说 "aaaa" ,加密的文本将是 "bbbb" ,只是每个都移动了一个字符。我做了我的输出,但没有打印回文本。我的错误是什么?
这是我的代码
int main(int argc , string argv[])
{
if(argc != 2)
{
return -1;
}
int k = atoi(argv[1]);
printf("Enter the text to be encrypted : ");
string text = get_string();
int length = strlen(text);
for(int i=0 ; i<length ; i++)
{
int p = text[i];
int c = (p + k) % 26;
printf("%c",c);
}
}
【问题讨论】:
-
是
stringchar *的类型定义,还是什么? -
您能否将代码添加到您的问题的
get_string()函数中 -
@AnttiHaapala - 是的。这是here 培育的反模式
-
停工?我认为它的拼写是“剪刀”。您只需尽可能彻底地与他们一起检查您的文本几次。
-
我不相信他们在哈佛教这个:D
标签: c algorithm encryption