1樓:匿名使用者
一樓,你顯然誤解了樓主的意思。並非簡單的查詢一個字串的前幾個字元與另一個字串是否相同。我想,樓主的意思應該是這樣的。
例如一個字元指標陣列 char *p=和char s="def"。可以將字元指標陣列簡單看成字串陣列,然後查詢其中是否存在一個字串s。
請看下面程式,可以直接複製執行,絕對是樓主想要的答案!
int scmp(char*a,char*b)/*比較兩個字串,功能與系統的比較函式稍不同*/
else
break;
}if(*a=='\0'&&*b=='\0')
return 1;
else
return 0;
}int strcs(char*p,char*s)/*將二維字元陣列中的字串逐個與目標比較*/
return j;
}main()
;char *str2="tsg";
printf("%d",strcs(str1,str2));
getch();
}最後,不得不坦誠的說下我的遺憾。我們知道,如果以字串作為陣列中的元素的話,這個陣列可以簡單的看著二維字元陣列。對於這樣的陣列,我們是無法找到可以判斷其結束的標誌的,正如整型陣列一樣。
所以對於您的問題,必須在主函式中先確定陣列個數。
2樓:
/*s 被查詢的字串
accept 目標字串
*/int strspn(const char *s, const char *accept)
if (*a == '\0')
count=1;
}return count;
}int main(void)
二樓 你看得懂我函式中迴圈的意思嗎,
只是查詢前幾個字元與另一個字串是否相同?
你讀**的能力有待提高啊。
從你的**可以看出,你對c指標的理解實在太淺顯。
這麼簡單的問題更本不需要2維陣列。
建議你學著寫寫庫檔案中string.c中的函式。
寫一通用函式,該函式從一個一維陣列中尋找指定的一個數,若找到,返回該數在陣列中的下標值,否則返回-1 10
3樓:匿名使用者
int search(int a, int n, int t) /*a是數
du組zhi
,daon是數
組大小,t是要
內找的數容*/
{int i;
for(i=0;i
要懂法語的 不懂的就別亂答一通 用翻譯器的 , 也不用答了 謝謝 內容 我的心裡有座墳。 住著未亡人
il y a une tombe dans mon coeur,y vive une personne qui n est pas encore morte.我覺得我翻譯的比較接近,不敢說完全對。可以肯定的是,樓上的那位 en survivre meurtre 用得都不對。這種東西真的不能直譯,我譯...
用matlab求反函式,用matlab求一個反函式
z就相當於你原來函式裡面的x,而x相當於你原來函式的y。求y x x 2 18 6 x x 2 x 3 的反函式,相當於把上述方程中y當成已知量來求x,那麼把方程,得到分子是一個關於x的4次多項式 syms x y collect numden y x x 2 18 6 x x 2 x 3 x an...
excel一列資料用countif函式整理的時候顯示這個資料
你查詢的是身份證號或超過15位的數字內容吧 countif函式在查詢超過15位的內容時後三位會以0來代替,所以出現了前15位相同就認為是相同的內容,出現這種情況要使用萬用字元 來處理,如要在a列中查詢a1身份證號出現的個數時用公式 countif a a,a1 而用查詢時不會出現這種情況 為什麼按照...