Volatile nature and odour Will it be correct to make a general statement that all compounds having odour are volatile? 

My reasoning: if a compound has odour then to smell that it must evaporate ( ie. some molecules must diffuse in the surrounding) . So I conclude that for smelling the compound must be volatile.

Am I right?
It's true that all odors come from compounds with at least some volatility.

However, some of the smells we associate with certain materials (like some metals) aren't the metal themselves but products of reactions caused by those materials, so you have to be careful about that.