Я создал код для создания 2D-таблицы с потоками, но он не запустится, и я не могу найти решение этой проблемы (я новичок в потоках, и извините за плохой английский).
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
pthread_barrier_t our_barrier;
int done = 2;
void *threadfunc2(void *k) {
if (done != (int)*(int*)k) {
int n, d, i, j;
printf("give the 2d table dimensions \n");
scanf("%d", &n);
scanf("%d", &d);
int array[n][d];
for (i = 0; i < n; i++) {
for (j = 0; j < d; j++) {
scanf("%d", &array[i][j]);
}
}
for (i = 0; i < n; i++){
for (j = 0; j < d; j++){
printf("%d", array[i][j]);
}
}
pthread_barrier_wait(&our_barrier);
printf("Now finished!!!\n");
return NULL;
}
}
int main() {
int k = 1;
pthread_t tid1;
pthread_create(&tid1, NULL, threadfunc2, (void *)&k);
return 0;
}
Я ожидал, что он попросит дать цифры для двумерной таблицы, но он ничего не сделает.