-2
聲明一個字符串後,出現分段錯誤。 我不知道如何解決這個錯誤 - 你能解釋一下嗎?字符串聲明分段錯誤
代碼版本1(使用typedef char *string;
從cs50.h
):
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'somewhere?你怎麼稱呼你的程序?如果沒有參數,argv [1]將無效。 – Gerhardh
在訪問任何'argv'之前檢查'argc'。 –