[英]Comparison of 2D array and character array C
我正在比較從文件中讀取的2D數組中存儲的數據和其中包含數據的字符數組。 看起來像這樣:
char file[10][20];
file[0] = "test";
char arry[20] = "test";
if (arry == file[0]) {
//do something
}
else {
// do something else
}
問題是// do something語句沒有被執行,我確保在將文件讀入數組時沒有換行符。 謝謝你的幫助
不要被file[0] = "test";
的相似語法所迷惑file[0] = "test";
和char arry[20]="test";
首先是將一個衰減的指向字符串文字的指針分配給char[20]
對象,該對象是類型不匹配錯誤。
第二個是char數組的聲明,其中用字符串文字初始化內容。 這與上面顯示的不同。
您可以執行一個快速的strcpy(file[0],"text")
。 但是然后再次使用strcmp
和朋友來比較這兩個字符串。
if(strcmp(file[0],arry) == 0){
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.