C编程。比较数组的内容。

时间:2013-05-19 00:37:41

标签: c arrays string strcmp

我的程序输入结果是一个数组:

// 1。

int i, numberOfOccurances;

   for(i = 0; i < numOfOccurrances; i++) {
      printf("%d",PrintOccurrances[i]);
   }

并作为示例输出:

121

现在我想比较这个数组,以便我可以打印另一个语句,例如:

// 2。

if (PrintOccurrances == 121) {
    printf("This means blah");
} else if (PrintOccurrances == 232) {
    printf("This means something else");
}

//我应该设置什么类型的变量?我应该如何在第1点设置它? //我应该在第2点使用什么类型的字符串语句。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

制作比较函数并在调用站点使用复合文字:

#include <stdbool.h>

bool int_arr_cmp_n(int const * a, int const * b, size_t len)
{
    while (len--)
        if (*a++ != *b++)
            return false;
    return true;
}

用法:

if (int_arr_cmp_n(PrintOccurrances, (int[]){1,2,1}, 3)) { /* ... */ }