-2

作为程序输入的结果,我有一个数组:

//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 点使用什么类型的字符串语句。

感谢您的任何帮助。

4

1 回答 1

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)) { /* ... */ }
于 2013-05-19T00:43:04.097 回答