Your question could be interpreted several ways. Do you want to just print the value of the pointers?
Or do you want to print the contents of each node?
printf("%p -- %p\n", (void *)root->left, (void *)root->right);
Or do you really want an inorder traversal?
if (node->left != NULL)
if (node->right != NULL)
It's best to be as detailed as possible when asking a question. That way you can get an answer as quickly as possible.
void traverse(node *root, void (*action)(node *p))
if (root == NULL)