Я пишу программу, которая в основном выполняет сложение двух значений, заданных пользователем. Это моя первая попытка многопоточности. Каждый раз, когда я ввожу первое значение, появляется ошибка «Ошибка сегментации (дамп ядра)».
void *printSum();
void main()
{
int *a,*b,*add;
printf("Enter first number: ");
scanf("%d",a); //error here
printf("Enter second number: ");
scanf("%d",b);
pthread_t thread;
pthread_create(&thread, NULL, printSum, NULL);
}
void *printSum()
{
int *a,*b,*add;
*add = *a + *b;
printf("Sum = %d", *add);
pthread_exit(0);
}
Я инициализировал те же переменные в printSum (), потому что в противном случае я получаю сообщение об ошибке, говорящее, что переменные не объявлены. Что мне делать?