-2
文字列を宣言した後、セグメント化エラーが発生します。 このエラーに対処する方法がわかりません - 説明できますか?文字列宣言のセグメント化エラー
コードバージョン1(cs50.h
からtypedef char *string;
を使用して):
int main (int argc, string argv[])
{
string key = argv[1];
checkKey(key, argc);
}
int checkKey(string text, int n)
{
//check if text is alphabetical and if argc has the desired amount of command-line elements
}
コードバージョン2:
#include <stdio.h>
#include <ctype.h>
#include <cs50.h>
int main (int argc, char* argv[])
{
printf("%d elements in argc and %s in argv[1]\n", argc, argv[1]);
char* key = argv[1];
}
ここで 'string'は宣言されていますか?それはC++ですか?またはtypedef?あなたがあなたの主なことを呼ぶとき、あなたはパラメータを渡すのですか? –
'string'はどこかに定義しましたか?あなたはどのようにあなたのプログラムに電話をしますか?パラメータがない場合、argv [1]は有効ではありません。 – Gerhardh
'argv'にアクセスする前に' argc'をチェックしてください。 –