使用 C 从另外两个数组中的最小整数创建第三个数组

标签 c arrays

<分区>

#include <stdio.h>

int main() {

int array1[]={ 1, 5 ,23, 18};

int array2[]={ 14,2, 3, 1};

int array3[]; /* Ideal Output of program would be array3[]= {1,2,3,1}  */

int a=0;

for (a=0; a<5; ++a)

{if (array1[a]<array2[a])
    {array3[a]=array1[a]};

else if(array1[a]>=array2[a])
    {array3[a]=array2[a]};

    printf("%d", array3[a])

}    
return=0
}

我想创建并打印一个数组,它从另外两个数组中获取最小的整数。在这个例子中,我想比较 1 和 14 并将 1 放入 array3[0]。

我也想打印array3

感谢您的帮助

最佳答案

正确格式化代码会使错误明显:

#include <stdio.h>

int main() {

    int array1[]={  1,  5, 23, 18};

    int array2[]={ 14,  2,  3,  1};

    int array3[]; // Error 1: No size specified

    int a=0;

    for (a=0; a<5; ++a) // Error 2: indexing past the end of the arrays

    {
         if (array1[a]<array2[a])
         {
             array3[a]=array1[a]
         };                      // Error 3: Misplaced semicolon #1
         else if(array1[a]>=array2[a]) // Bug opportunity: unnecessary if
         {
             array3[a]=array2[a]
         };                      // Error 4: Misplaced semicolon #2

         printf("%d", array3[a]) // Error 5: Missing semicolon

    }    
    return=0 // Errors 6/7: '=' and no ';' 
}

C 编译器不关心空格,但 C 程序员关心,这就是原因。在狭小的空间内塞满陈述会使捕捉此类重要细节变得更加困难。

关于使用 C 从另外两个数组中的最小整数创建第三个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24656804/

相关文章:

c - 如何追加一个数组?

c - 如何使用 zlib 为 HTTP 压缩 HTTP 响应?

javascript - 比较两个数组中的元素

python - 显示数组中某一列中特定数字的所有值

java - 在 Java 中查找 N 个列表之间的公共(public)元素

javascript - 数组中的多个数据但仅按名称排序

ios - 如何在 iOS 运行时确定 ARMv8 功能?

c++ - 使用 CMake 混合 C 和 C++

socket() 能否因 EINPROGRESS 而失败

c - 找到最小值时数组的最后一个元素会发生变化