宏定义数组变量,DEV(c和c++集成开发环境)

#include <stdio.h>
#define SSSV{s1,s2,s3,s4} s1=lw,;2=lh;s3=wh;v=wl*h;
int main()
{
int l=3,w=4,h=5,sa,sb,sc,vv;
SSSV(sa,sb,sc,vv);
printf("sa=%d\tsb=%d\tsc=%d\tvv=%d\t",sa,sb,sc,vv);
return 0;
}
为什么这种会显示宏定义那里有问题,书上都怎么写,虽然可能写错,但是好多地方都这样写,为毛我这样写就没成功过,求大佬解答并给总结。有用必采纳

宏定义应该是这样的吧,猜的#define SSSV(s1,s2,s3,s4) s1= lw; s2= lh;s3= wh; s4= wl* h
宏定义只是简单的文本替换,程序编译时,先替换,再编译

宏定义的作用过程是先替换,然后再运行,你代码中这样写替换后就会有问题的

1.宏定义一般类似下述格式:
#define M 80
#define N 100
#define ARRAY(A,M,N) A[M][N]
2.关于对宏定义的解释:
宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译
宏定义又称为宏代换、宏替换,简称“宏”。
希望对题主有所帮助,望采纳!