读书人

关于连续不等于的有关问题

发布时间: 2013-04-07 12:50:11 作者: rapoo

关于连续不等于的问题
有很多个数 大概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;
}

读书人网 >C++

热点推荐