-5
したがって、関数プロトタイプを使用して、ユーザーが入力した単語が回文かどうかを確認できるようにしています。しかし、最後に「Segment Fault:11」というエラーが表示されます。私は関数プロトタイプを使用することにかなり新しいので、関数定義の本体で何が起こっているのかを誰かが助けてくれたら、私にそれを指摘してください。エラー:Palindromeのセグメンテーションフォルト11
#include <stdio.h>
void palindrome_check(int ch_length, char text)
int main(void)
{
int length;
printf("Enter how many characters are in the message: ");
scanf("%d", &length);
char m;
printf("Enter the message: ");
scanf("%c", &text);
palindrome_check(l, m);
return 0;
}
void palindrome_check(int ch_length, char text)
{
char msg[ch_length];
text = msg[ch_length];
int count = 0;
while (count < ch_length)
{
count++;
scanf("%c", &msg[count]);
}
int i, j;
for (i = 0; i < ch_length; i++)
{
msg[j] = msg[ch_length - i];
}
if (text[i] == text[j])
{
printf("The message you entered is a palindrome!\n");
}
else
{
printf("It's not a palindrome.\n");
}
}
メインのテキストは何ですか?文字列の代わりに*文字を*チェックしてもよろしいですか?そして、頂上近くの 'palindrome_check'宣言の後にセミコロンを追加してください。リストされたコードにはあなたを助けることができないほど多すぎます。これはおそらくコンパイルされず、最初に解決する必要のある大量の警告が表示されます。 – Evert
ファイルの先頭に 'void palindrome_check(int ch_length、char text)'の後にセミコロンがありません。 –
このコードはコンパイルされません。 –