Thanks AndyCC and CrossRoads.
I was wondering if the code I've shown would have any problems. It seemed to work OK for the testing I've done. With x, y, z as boolean, all combinations worked OK. With x, y, z as byte, I assigned y = 100 and varied both x and z as counters in sync. When all 3 inputs were = 100, the output was true (XNOR) or false (XOR), which worked as expected. I guess my confidence level isn't the greatest yet with C, its much better with LabVIEW or VHDL.
Anyhow, the XOR and XNOR operations have many uses ... equality or inequality detection, controlled inverter, 1/2 adder, etc. I'll try a few more input variations to build my confidence.