To solve your problem, item.value should be allocated then written to
while(1) {
printf("\nPlease Enter A Task: \n");
item_t item;
item.value = (char *)malloc(100);
// scanf("%s", item.value);
fgets(item.value, sizeof (item.value), stdin);
printf("\nPlease give your task a priority ranking between 0 -(less important) and 10-(most important) : \n");
scanf("%f", &item.rank);
insert(q, item);
count++;
if(count == 5)
break;
}