c - 如何将锯齿状数组与C中的另一个数组进行比较?
问题描述
我一直在尝试将锯齿状数组用于我的项目,同时这只是一个测试,此外我将在我的项目中使用它。问题如下我如何比较每个数组中的每个元素,所以在下面的代码中我有三个数组,在它们之后,我还有一个用于与第一个数组进行比较,这是我到目前为止所拥有的。
#include <stdio.h>
#include <stdlib.h>
int main(){
int row0[4] = {0,1,3,0};
int row1[4] = {5,6,9,10};
int row2[4] = {9,0,1,10};
int aux[4] = {9,6,9,10};
int *result[3] = {row0,row1,row2};
int size[3] = {4,4,4}, k =0;
for (int i = 0; i < 3; i++) {
int *ptr = result[i];
for (int j = 0; j < size[k]; j++) {
if(ptr[j] == aux[j])
{
printf("%d\n",ptr[j]);
}
ptr++;
}
printf("\n");
k++;
result[i]++;
}
return 0;
}
结果是 5,但我想遍历以 5 开头的数组中的所有值,以确定所有其他值是否相等,换句话说,我想知道哪个数组等于“辅助”数组。
解决方案
你有(内部)循环:
int *ptr = result[i];
for (int j = 0; j < size[k]; j++)
{
if(ptr[j] == aux[j])
{
printf("%d\n",ptr[j]);
}
ptr++;
}
由于您同时增加j
和ptr
,因此您的增量太多了。最好删除ptr++;
线。
推荐阅读
- python - 为什么pyspark fillna不填充布尔值
- python - 为非标准 beta 分布生成随机数
- powerbi - 是否可以添加用户以让他们访问服务中的 power-bi 报告?
- c# - 从版本 3.1.2 升级到 5.0.3 后,实体框架核心 Include() 不起作用
- pine-script - TradingView pine 脚本中的绘图名称/标签
- ios - NSNotification 没有观察或发布数据
- c++ - 为什么私有类成员不保值?
- java - 在 Java 8 中抛出异常时如何在 Optional 中使用构造函数引用传递异常消息
- php - PHP 从 XML 中获取属性并使用
- r - R - 将数据框导出为保持数字格式的 txt 文件