c++ - Returning array -


how return pointer array , values that?

int * getchange(int first[], int second[], int size) {     int = 0;     int * change = new int[2];     (i = 0; < size; i++) {         if (first[i] != second[i]) {             change[0] = first[i];             change[1] = second[i];         }         break;     }     return change; }  function main() {     int mynumbers[] = {1, 0, 2, 3};     int possibilities[] = {0, 1, 2, 3};     int * change;     change = getchange(possibilities, mynumbers, 4);     printf("%i / %i\n", (change), (change+1)); } 

unfortunately function seems return addresses, not values...

try change

printf("%i / %i\n", (change), (change+1)); 

to

printf("%i / %i\n", *(change), *(change+1)); 

in printf function need use int parameters, not int*. change variable pointer. must use *change and, using pointers arithmetics, *(change + 1)

obviously, don't forget free allocated memory.


Comments

Popular posts from this blog

java - SNMP4J General Variable Binding Error -

windows - Python Service Installation - "Could not find PythonClass entry" -

Determine if a XmlNode is empty or null in C#? -