他のコード例を見て、コマンドライン引数で正常に機能するシーザー暗号を作成しました。ただし、コマンドライン引数としてではなく、キーをスキャンできるバージョンを作成したいと思います。問題は、何らかの理由で私が理解できないことです。コードの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);