我有以下代码:
if (a1 < a2)
a3=0;
else
a3=a1-a2;
if (b1 < b2)
b3=0;
else
b3=b1-b2;
if (c1 < c2)
c3=0;
else
c3=c1-c2;
代码非常重复。关于优化代码大小的任何建议?我不想使用数组。
答案 0 :(得分:3)
您可以使用像:
这样的宏[n]
或改为使用函数。
#define COM(x,y) ((x<y)?0:(x-y))
...
a3 = COM(a1,a2);
b3 = COM(b1,b2);
c3 = COM(c1,c2);
如果你可以使用数组(用于存储a,b和c等)来存储这些值,那么你可以使用一个简单的循环而不是重复宏/函数调用。
答案 1 :(得分:1)
您可以先从初始化变量开始,然后根据需要使用if语句。例如。
a3=a1-a2;
b3=b1-b2;
c3=c1-c2;
if(a1<a2)
a3=0;
if(b1<b2)
b3=0;
if(c1<c2)
c3=0;