私は、vigenere暗号を使用してテキストを暗号化するプログラムを作成しています。私は、コードを実行すると、これまでしかし、それは私がint型に文字を変換することにより、ユーザーの入力のI(番目)の文字のASCII値を取得しようとしています複数文字の文字定数エラー
vigenere.c:27:29: error: multi-character character constant [-Werror,-Wmultichar]
int letternum = 'currentletter';
^
vigenere.c:27:29: error: character constant too long for its type [-Werror]
vigenere.c:26:18: error: unused variable 'currentletter' [-Werror,-Wunused-variable]
char currentletter = input[i];
^
3 errors generated.
言って私にエラーが発生します。私のプログラムコードは以下の通りです。 Plsヘルプ。
#include <stdio.h>
#include <cs50.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
string input;
int digitnum = 0;
int main(int argc, string argv[])
{
if (argc>2 || argc<2)
{
printf("Please enter a valid argument.\n");
return 1;
}
input = GetString();
for (int i = 0; i < strlen(input); i++)
{
char c = input[i];
if (isalpha(input[i]))
{
char currentletter = input[i];
int letternum = 'currentletter';
if(isupper(c))
{
int upper = 'A';
int alphanum = letternum - upper;
int newint = (alphanum + alphanum) % 26;
newint = newint + upper;
char newchar = newint;
printf("%c", newchar);
}
if(islower(c))
{
int lower = 'a';
int alphanum = letternum - lower;
int newint = (alphanum + alphanum) % 26;
newint = newint + lower;
char newchar = newint;
printf("%c", newchar);
}
digitnum = digitnum + 1;
if (digitnum >= strlen(argv[1]))
{
digitnum = 0;
}
}
else
{
printf("%c", input[i]);
}
}
}
本当にすべてのコードを投稿する必要がありますか?それは修辞的な質問です。 – juanchopanza
プログラミングに慣れていないし、問題の原因となるものがどこにあるのかを100%確信しているわけではないので、私は本当にわかりません。 –
基本的な問題解決です。問題のあるコードだけが残るまで、すべてを削除します。 – juanchopanza