В настоящее время моя программа должна взять список номеров, введенных пользователем в командной строке, а затем найти сумму этих номеров и распечатать ее. Мой код следующий, я знаю, чтобы сохранить один номер, введенный пользователем, но что, если я хочу список чисел, разделенных пробелом?Как сохранить список входов для многопоточного программирования
#include <pthread.h>
#include <stdio.h>
int sum; /* this data is shared by the thread(s) */
void *runner(char **); /* threads call this function */
int main(int argc, char *argv[])
{
pthread_t tid; /* the thread identifier */
pthread_t tid2;
pthread_attr_t attr; /* set of thread attributes */
if (argc != 2) {
fprintf(stderr,"usage: a.out <integer values>\n");
return -1;
}
pthread_attr_init(&attr);
pthread_create(&tid,&attr,(void(*)(void *))(runner),(void *)(argv+1));
pthread_join(tid,NULL);
printf("sum = %d\n",sum);
}
/* The thread will begin control in this function */
void *runner(char **param)
{
int i;
sum = 0;
for (i = 1; i <= 5; i++)
sum = sum + atoi(param[i]);
pthread_exit(0);
}
Я хочу, чтобы иметь возможность ввести список номеров в командной строке, и сохранить эти номера в списке, а затем найти сумму всех этих чисел.
, может кто-нибудь сказать мне, что является правильным способом для этого?
вы не должны изменить содержание вопроса, как люди дают корректировку ... – didierc