我有一些问题字符数组中C.字符数组,并比较
我有两个数组:
char history[10][80];
char *args[80];
而且我也得到了char inputBuffer[80]
(这包含一个字符串)。 我想要做的是找出*args
中的值是否存在于history
。
我这样填满history
(histCount
介于0和10之间)。
for(j=0; j<MAX_LINE; j++)
{
history[histCount][j] = inputBuffer[j];
}
我想不通的是如何,我可以遍历history
,看它是否符合args[]
。
- 示例如果
args[0] == 'romeo'
和history[3][0] == 'r'
则匹配。 - 如果
args[0] == 'selfie'
和history[7][0] == 's'
则匹配。
我的第一个想法是做这样的事情,但它似乎没有工作
for(k=0; k<10; k++) {
if(args[1] == history[k]) {
printf("FOUND!!\n");
}
}
任何帮助将不胜感激。
你的样品条件列表是不正确的。 'args [0]'是'char *','历史[3] [0]'是'char'。对于第二个例子同样如此。看起来你试图将'args [n]'处的字符串与'history [m]'处的字符串相匹配。如果所有你想要的是一个单一字符匹配,你将需要'args'上的另一个间接寻址。 – WhozCraig
@WhozCraig你是对的。 'args [1]'是'char *',而'history [3] [0]'是一个字符。我需要做什么才能检查这些对方? – Jectson
你的问题没有显示你想要的那种支票的意图。同样,如果你只想检查每个字符串的第一个字符,'(args [n] [0] == history [m] [0])''。如果你想检查字符串的完全匹配,'(strcmp(args [n],history [m])== 0)',在这两种情况下适当的索引'n'和'm'来匹配你的问题'正在解决。 – WhozCraig