点之间的比较。和诠释

时间:2018-10-01 12:39:07

标签: c

当我在输出上键入hk时,它没有说香港,而是每次都说INPUT ERROR。

char dc,ds[15];
int main(int argc, char *argv[]) {
p("Destination Code: ");
s("%s", &dc);

if(dc=="hk"){
    strcpy(ds, "HONG KONG");
}
else{
    strcpy(ds, "INPUT ERROR");
}

p("Destination: %s", ds);
return 0;

1 个答案:

答案 0 :(得分:2)

这里有两个问题。

  1. 您已将dc声明为char类型,并尝试读取string类型。

  2. 您不能使用==来比较两个strings,而应该使用strcmp

示例:

  char dc[3];    
  scanf("%2s", dc);
  if(strcmp(dc,"hk") == 0){
    strcpy(ds, "HONG KONG");
  }
  else{
     strcpy(ds, "INPUT ERROR");
  }