如果语句带字符串

Dug*_*han 1 c

我对编程很陌生.

我只想输入Dave,那么它应该显示"祝你有个美好的一天"

所以我用这种方式写它:

 {
  char str[100];
  printf("\nwhat is your name?\n");
  scanf("%s",str);
  if (str="Dave")
     {
        printf("\nhave a nice day\n");
      }
  }
Run Code Online (Sandbox Code Playgroud)

最终,它没有显示任何内容.它出什么问题了?

sim*_*onc 7

您的代码分配str指向字符串文字"Dave".我猜你是想比较(使用==)而不是?这也会失败,比较两个char数组的地址.在C中,您应该使用strcmp来比较字符串

if (strcmp(str, "Dave") == 0)
Run Code Online (Sandbox Code Playgroud)