有人知道如何(运气好的话)搜索数组中的特定元素吗?我已经尝试了所有方法 - 除了正确的方法。
我的两个相应的字符数组看起来像这样:
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/