fork download
  1. #include <stdio.h>
  2. #include <pthread.h>
  3.  
  4. void* stampa_numeri_e_carattere(void* arg) {
  5. void** args = (void**) arg; // Cast dell'argomento a un array di void*
  6. int max = *(int*) args[0]; // Primo parametro: numero massimo
  7. char simbolo = *(char*) args[1]; // Secondo parametro: carattere
  8.  
  9. for (int i = 1; i <= max; i++) {
  10. printf("%d %c\n", i, simbolo);
  11. }
  12. return NULL;
  13. }
  14.  
  15. int main() {
  16. pthread_t thread;
  17.  
  18. int max = 5; // Numero massimo da stampare
  19. char simbolo = '*'; // Carattere da stampare
  20.  
  21. // Creazione dell'array di parametri
  22. void* args[2];
  23. args[0] = &max;
  24. args[1] = &simbolo;
  25.  
  26. // Creazione del thread con passaggio di parametri
  27. pthread_create(&thread, NULL, stampa_numeri_e_carattere, (void*) args);
  28.  
  29. // Attesa della terminazione del thread
  30. pthread_join(thread, NULL);
  31.  
  32. printf("Programma terminato.\n");
  33. return 0;
  34. }
Success #stdin #stdout 0s 5288KB
stdin
Standard input is empty
stdout
1 *
2 *
3 *
4 *
5 *
Programma terminato.