[英]C, Count unique strings in an array of strings
使用C,我有一個字符串數組,有些是重復的。 我正在嘗試計算唯一字符串的數量。 碼:
for(i=0; i<size; i++){
flag=0;
if(strcmp(" ", tArr[i])!=0){
for(j=i; j<size; j++){
if(strcmp(tArr[i], tArr[j])==0){
if (flag<1){
flag=1;
k++;
}
strcpy(tArr[j], " ");
}
}
}
}
將該單詞的每個其余實例設置為空格,以匹配第3行
不是將k設置為唯一字數,而是將其設置為總字數。 使用打印的標志,我能夠告訴我們該功能貫穿了整個過程,甚至到下一行
我仍然無法說出它如何使最外層for循環的每次迭代都到達第8行。
調整您的代碼,嘗試這樣的事情:
for (i = 0; i < size; i++) {
for (j = i + 1; j < size; j++)
if (strcmp(tArr[i], tArr[j]) == 0)
break;
if (j == size)
unique_count++;
}
如果您只是在數數,就不需要銷毀重復項,但是,如果您仍然希望這樣做,我建議您使用一個空字符串而不是一個包含空格的字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.