1

我对编程完全陌生。

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

所以我这样写:

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

最终,它什么也没有显示。它出什么问题了?

4

3 回答 3

7

您的代码正在分配str指向字符串字面量"Dave"。我猜你的意思是比较(使用==)?这也将失败,比较两个char数组的地址。在 C 中,您应该使用strcmp来比较字符串

if (strcmp(str, "Dave") == 0)
于 2013-03-07T08:25:51.867 回答
2

字符串比较需要一个库函数。代替

if (str="Dave")

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

一开始,包括

#include<string.h>
于 2013-03-07T08:27:33.460 回答
1

c中的字符串比较可以通过strcmp()from来完成#include <string.h>

if (strcmp(str,"Dave")==0)
     {
        printf("\nhave a nice day\n");
      }
于 2013-03-07T08:26:21.403 回答