Почему вы & p [1]?p - указатель на текущий токен в цикле while.Он не даст вам все элементы, которые вы ожидаете здесь.
Вы можете объявить param как массив: int param [5];
И переписать цикл следующим образом:
int i=0;
while ( p !=NULL){
param[i++] = atoi(p);
p = strtok(NULL," ");
}
Если вы хотите использовать 5 переменных, таких как param1, param2 .... и т. Д., То вам нужно расширить цикл и написать его вручную, что не очень хорошая идея.