在查看其他代码示例的帮助下,我制作了一个成功使用命令行参数的凯撒密码。但是,我想制作一个版本,您可以在其中扫描密钥,而不是将其作为命令行参数。问题是,由于某种原因我无法弄清楚,代码的 fgets 部分不允许用户输入任何内容,程序只是运行并返回 0。代码的顶部在这里:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (void)
{
int k; //key
char e[100]; //plain text to encrypt
int length; //string length for plain text
int c; //encrypted int (displays as char)
//get key
printf("Key? ");
scanf("%d", &k);
//display the key
printf("The key is: %i\n", k);
//prompt for plain text to encrypt
printf("Please enter the words to encrypt:\n");
fgets(e, 100, stdin);
printf("%s", e); //print words to encrypt
//get length of plain text string
length = strlen(e);