c - 按元素添加两个数组

标签 c

{0, 0, 0, 1} + {5} = {5, 0, 0, 1}

我想按照我上面在一个循环中描述的方式添加这些数组的元素。我怎样才能做到这一点?我只能想出以下解决方案:

for(int i = 0; i < 4; i++)
{
   outcomes = a[i] + b[i];
}

其中 a 和 b 是第一个数组,“outcome”是结果数组。但这会中断程序的执行,因为数组的大小不同。

最佳答案

  1. 求两个数组的长度。
  2. 创建较长数组长度的“结果”数组,将较长数组的内容复制到其中。

`

for(int i = 0; i < sizeof(smaller_array_length); i++)       
    { 

            outcomes[i] = a[i] + b[i]; 

    }

`

关于c - 按元素添加两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15990692/

相关文章:

c - FreeBSD的namei()调用的LOOKUP操作及其错误

c - 动态分配的二维矩阵的段错误

C 打印 long long float

你能在 C 中使用宏实现阶乘吗?

c - sprintf 导致未定义的行为

C 段错误 : memory altered between functions strcmp

c - 为什么从文件中读取后会得到奇怪的数字?

c - 寄存器中的全局变量

c - %qu 格式在 printf() 中代表什么

c - 为什么编译器在这种情况下不发出警告