Я пишу программу на C, которая будет выполнять некоторые логические операции c, но в данный момент я просто пытаюсь проверить, правильно ли сохраняются входные данные. Предполагается, что в str хранится один из перечисленных пунктов меню, в шестнадцатеричном формате без знака предполагается хранить шестнадцатеричное значение, а в int записывается десятичное значение.
Ниже приведен код:
int main()
{
char str[2];
unsigned int hex;
int decimal;
printf("Choose an Option (C, M, Q, S, V): ");
scanf("%s", &str);
printf("Enter a value for x: ");
scanf("%u", &hex);
printf("Enter a value for n: ");
scanf("%d",decimal);
printf("Testing: %s, %u, %d\n",str,hex,decimal);
return 0;
}
Когда я компилирую его на своем терминале, он не дает мне ошибок, и он даже проходит через все входы, которые я запрашиваю. Вывод выглядит так:
Enter a value for x: 1
Enter a value for n: 1
Segmentation fault: 11
Почему я получаю ошибку сегментации 11? Любая помощь приветствуется.