c - 搜索/打印数组中的特定元素

标签 c multidimensional-array

有人知道如何(运气好的话)搜索数组中的特定元素吗?我已经尝试了所有方法 - 除了正确的方法。

我的两个相应的字符数组看起来像这样:

char array1[10][10]={"Alpha","Bravo","Charlie","Delta","Alpha2"};   //room for some more here
char array2[10][10]={"123456","234567","345678","456789","567890"};   //room for some more here

我可以通过常规的 for 循环打印它们:

for (i=0;i<10;i++){
    printf("%s  %s \n", &array1[i], &array2[i]);
}

但假设我想执行相同的循环,并且只打印以“A”开头的两个元素(第一个和最后一个)。我认为这样的事情会奏效

do {
    for (i=0;i<10;i++){
        printf("Name: %s\nDate: %s\n\n", &array1[i][x], &array2[i]);
        }
    } while (x=='A');

这是相同的 for 循环,除了我在 &array1 后面放置了额外的 [x] 来告诉我的 'x' 必须匹配 array1 的每个元素中的第一个字符(就像它只会执行 for 循环 while (x= ='A') - 这是我想要的元素中的第一个字母。

但它没有任何好处..

谁有更好的解决方案?我也尝试过 for 循环的其他变体,但没有成功。我现在被卡住了...

最佳答案

#include <stdio.h>

int main(void) {
    char array1[10][10]={"Alpha","Bravo","Charlie","Delta","Alpha2"};   //room for some more here
char array2[10][10]={"123456","234567","345678","456789","567890"};   //room for some more here
int i;
for (i=0;i<10;i++){
    if(array1[i][0]=='A')   //add this statement in your code
    printf("%s  %s \n", &array1[i], &array2[i]);
}
    return 0;
}

关于c - 搜索/打印数组中的特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27543652/

相关文章:

python - 打印 NumPy 数组时的轴顺序

php - 合并来自单个数据集的关联数据

javascript - 遍历具有所有唯一 ID 的多维数组

c - 在C语言中它是如何工作的? (实现strcat函数)

c - 为什么这个程序会出现段错误错误

java - 使用 JNI 为 Raspberry Pi 2 编译 C(错误的 ELF 类)

javascript - 将json多维转换为数组javascript

c - 显式转换问题,C

c++ - 安卓 OpenGL ES 2.0 : Can a GL_FLOAT texture be assigned to a FBO as a COLOR attachment?

java - 使用 POI 读取一系列 Excel 工作表数据