我是编程新手。
我只想输入Dave,那么它应该显示“祝你有个美好的一天”
所以我这样写:
{
char str[100];
printf("\nwhat is your name?\n");
scanf("%s",str);
if (str="Dave")
{
printf("\nhave a nice day\n");
}
}
最终,它没有显示任何内容。怎么了?
答案 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");
}