【发布时间】:2013-08-04 06:54:37
【问题描述】:
我是 C 新手,对如何通过字符数组使用字符串仍然有些困惑。
在我的 C 程序中,我正在接受来自用户的命令:
char command[20];
scanf("%s",command);
当然,之后我想弄清楚他们输入了什么命令(类似于:“if (command == "hello"),然后做某事”)。我知道这在 C 中是不可能的,因为我将字符串文字与字符数组进行比较,但有什么好的方法呢?我尝试过使用strcmp(command, "hello"),但仍然出现错误。
您能提供的任何建议将不胜感激。谢谢!
【问题讨论】:
-
究竟是什么“错误”?
strcmp()是要走的路。 -
另外,我在您的代码中看到的最严重的错误是使用了
scanf()。完全忘记这个功能。您正在寻找fgets(command, sizeof command, stdin)。 -
(不使用scanf的主要原因;它可以扫描的数量没有限制。如果用户输入21个字符怎么办?)
-
此外,顺便说一下,字符串文字是本身就是一个字符数组。
-
标签: c arrays string character strcmp