簡體   English   中英

在C語言中,有沒有一種快速的方法來檢查單個數組值與另一個數組值之間的相等性?

[英]In C, Is there a quick way to check equality between a single array value and any of another array's values?

數小時以來,我一直在努力尋找方法。 是否有一種簡單的方法來檢查數組的值是否等於已動態分配的另一個數組中的任何值?

我沒有任何實際的示例代碼,因為無論我嘗試了什么,我的代碼都無法執行此操作,但是我想得出的總體思路是:

if *whatsread[i] == dictionary[any value by checking all]//so if the current value  
                                          matches any value found in the dictionary array
    {
    execute this code;
    }

看起來如此簡單,我簡直不敢相信沒有簡單的方法可以做到這一點。 我到處搜尋,卻找不到可靠的答案。 我對任何事情都開放。

同樣,兩個數組都是char類型,每個值都是一個字符串。

您可以為此使用線性搜索lfind函數:

size_t nel = 0;
char *f = lfind(whatsread[i], dictionary, &nel, DICT_SIZE, (int(*)(const void*, const void*))strcmp);
if (f) {
     // f points to the entry 
} else {
     // Not found
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM