关于连续不等于的问题
有很多个数 大概9个 他们都不相等 执行循环 只能a!=b&&a!=c&&a!=d&&a!=e......b!=c&&b!=d&&b!=e...一直到最后吗 这是有多麻烦啊 怎么才能简化一下啊
[解决办法]
可变参数或数组
//可变参数
#include <stdarg.h>
bool ne(int cnt, ...)
{
int a, b;
va_list ap;
va_start(ap,cnt);
//at least two
if(cnt > 1)
{
for(a = va_arg(ap, int), b = va_arg(ap,int), cnt -= 2;cnt > 0; --cnt, a = b,b = va_arg(ap,int))
{
if(a == b) return false;
}
//all are not equal
return true;
}
va_end(ap);
return false;
}
int main()
{
int a = 1, b = 2, c = 3,d = 4,e = 0;
bool r = ne(5, a,b,c,d,e);
r = ne(10, a,b,c,d,e, 6, 7, 8, 9, 10);
return 0;
}