c - if () 语句的不同参数

标签 c if-statement conditional-statements varying

我遇到如下问题: 我有一个数组(比如说)a[]={10,24,56,33,22,11,21} 我有这样的东西

for(i=0;i<100;i++){
    if(a[i]==10)
        // do something
}

当 i=1 时下一个

if(a[i]==10 && a[i+1]==24)

依此类推,所以在每次迭代中,if 中的参数/条件应该有所不同 现在这将是一个非常大的序列,我不能明确地写
if(a[i]==10 && a[i+1]==24 && a[i+2]==56 ...... a[i+100]=2322)

我怎样才能达到这种不同的条件?

最佳答案

你必须有一个累积的“ bool ”变量,它在第 i 次迭代时检查 a[i] 并更新该变量:

int a[] = {...};   /* array with some values to verify */
int v[] = {...};   /* these are the actual desired values in a[] */

/* the verifying loop */
int i;
int cond = 1;
for (i = 0; i < 100; i++)
{
    cond = cond && (a[i] == v[i]);
    if (cond)
    {
       /* do something */
    }
}

关于c - if () 语句的不同参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10563334/

相关文章:

c - 加载链接列表文件指针

c - 最快的 C 条件执行

vb.net - 循环中 If 语句的优化

|| 的 C++ 排序and && 在 if 语句中测试相等性时

java - 网 bean `The conditional statement is redundant`

php - 特色文章内容 joomla 3 的条件代码

c - 在 C 中将整数转换为位串的最佳方法是什么

c - C Windows 代码中的 Asm bswap

c - 如何编写信号处理程序来捕获 SIGSEGV?

ruby - 解析与操作的可变范围和顺序 : Assignment in an "if"