我是一名新手,对于如何通过字符数组使用字符串仍然有些困惑。
在我的C程序中,我正在接受用户的命令:
char command[20];
scanf("%s",command);
当然,之后我想找出他们输入的命令(类似于“
if (command == "hello")
,则执行某些操作”)。我知道这在C语言中是不可能的,因为我正在将字符串字面量与字符数组进行比较,但有什么好的方法吗?我已经尝试使用strcmp(command, "hello")
,但仍然出现错误。如果您能提供任何建议,将不胜感激。谢谢!
strcmp()
是正确的方法。 - user529758scanf()
函数。完全忘记这个函数吧。你应该使用fgets(command, sizeof command, stdin)
。 - user529758scanf("%20s", command);
可以避免缓冲区溢出。但是使用fgets()
后跟sscanf()
更加健壮。 - Keith Thompsonscanf()
格式字符串的语法对于刚开始学习编程的人来说非常容易误导。 - user529758