После объявления строки я получаю ошибку сегментации. Я не знаю, как решить эту ошибку - можете ли вы объяснить?Ошибка сегментации объявления строки
код версии 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];
}
где «строка» объявлена? это C++? или typedef? и когда вы вызываете свой главный, вы передаете параметры? –
Вы задали 'string' где-то еще? Как вы называете свою программу? Если параметр отсутствует, argv [1] недействителен. – Gerhardh
Проверьте 'argc' перед доступом к любому' argv'. Строка –