Я создаю многопоточную программу с использованием алгоритма банкиров, есть все это трудно кодируется и скомпилированным, но у меня возникает проблемы заполнения начального available
массива из пользовательского вводаС - Сохранением основных() аргументов в массиве
#DEFINE NUMBER_OF_RESOURCES 3
int available[NUMER_OF_RESOURCES]; //available will be length of argc i.i number of total resoruces
int main(int argc, char *argv[])
{
printf("AVAILABLE RESOURCE: \n [");
//Populate Available Resource Array
for (i = 1; i < argc; i++)
{
available[i-1] = argv[i];
printf("%d ", available[i]);
}
printf("] \n\n");
}
при выполнении с: ./a.out 10 7 5
Он печатает:
[1604031496 1604031499 1604031501 ]
Элементы 'argv' являются строками, а не цифрами. Распечатайте их с помощью '% s', а не'% d'. – Barmar
Каков тип переменной 'available'? –
'доступно [i-1] = atoi (argv [i]); printf ("% d", доступно [i-1]); ' – BLUEPIXY