宏属于预编译,在编译的时候就将你的SSSV(sa,sb,sc,vv);替换成sa=l*w;sb=l*h;sc=w*h;vv=w*l*h;这些编译器已经给你处理了,宏这个就是直接替换宏有编写规范的,你这里写的宏并不规范,建议上网查一下宏书写的规范
宏定义只是定义的时候按照定义的内容代进去,w,h,l在主函数里面定义是可以的把程序放到编译器里面试一下就知道了