如果语句带字符串

时间:2013-03-07 08:24:31

标签: c

我是编程新手。

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

所以我这样写:

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

最终,它没有显示任何内容。怎么了?

3 个答案:

答案 0 :(得分:7)

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

if (strcmp(str, "Dave") == 0)

答案 1 :(得分:2)

字符串比较需要库函数。取代

if (str="Dave")

if(strcmp(str, "Dave") == 0)

并且在开头,包括

#include<string.h>

答案 2 :(得分:1)

c中的字符串比较可以由strcmp()

中的#include <string.h>完成
if (strcmp(str,"Dave")==0)
     {
        printf("\nhave a nice day\n");
      }