Callbacks do not have any output. They react to a user action, so where should the put any output to? There is even no "main" program, when a GUI is active. This is not the purpose of a GUI.
You display Outputs in the CommandWindow or the GUI or store it for later use inside the GUI. The later is done either by guidata, set/getappdata or by writing to the UserData of an object or the GUI. You can store data as persistent variables in another function also.
If your "main" program waits, until the GUI is finished, your GUI can output some values or you can request them by guidata before the window is deleted. The best way depends on where you need which data and if your GUI is created by GUIDE or programmatically.
Search in this forum for "GUI share data callbacks"