因此,你可以对任何类型进行强制类型转换,但后果需要你自己承担
也就是说,你必须明确的知道这样转换以后会带来什么后果
比如你把float类型强制转化为int类型,必然导致精度的丢失
如果你可以接受,没问题
如果你把结构体类型强制转换为int(或者反过来),程序只会给你一个警告
但你使用的时候,程序很可能会出错
所以一般基本类型直接的转换只会导致精度的丢失
但结构体和基本类型的转换可能导致程序的错误
所以实际使用中应该尽量避免这样的转换
具体的你可以参照一下百度百科
你写的程序不太完整,不能看是否正确。例如:“PRO cell”,“sell[i].mc”的由来。从你的最后一句话可以大概猜出一些原因:因为用“strcmp”就行,而“strcmp”是专门处理字符串的,所以“sell[i].mc”的实际内容是字符串。可是你用“long”做强制类型字符串,这当然不行。
以上只是推断,不一定对。