二维数组和字符数组C的比较

时间:2018-02-10 16:28:08

标签: c arrays string comparison

我将存储在我从文件读取的2D数组中的数据与包含数据的字符数组进行比较。它看起来像这样:

char file[10][20];
file[0] = "test";
char arry[20] = "test";
if (arry == file[0]) {
    //do something
}
else {
    // do something else
}

问题是//正在执行某些语句,我确保在将文件读入数组时没有新的行字符。谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

不要被file[0] = "test";char arry[20]="test";

的类似语法所误解

首先将指向字符串文字的衰减指针分配给char[20]对象,这是类型不匹配错误。

其次是char数组的声明,其中内容的初始化与字符串文字的初始化。这与上面显示的不同。

你可以快速strcpy(file[0],"text")这样做。但是再次使用strcmp和朋友来比较这两个字符串。

if(strcmp(file[0],arry) == 0){
   ...
}