Iri*_*ina 6 c arrays string character
我是C的新手,对于如何通过字符数组使用字符串仍然有点困惑.
在我的C程序中,我接受来自用户的命令:
char command[20];
scanf("%s",command);
Run Code Online (Sandbox Code Playgroud)
当然,之后我想弄清楚他们输入了什么命令(类似于"if(command =="hello"),然后做一些事情).我知道这在C中是不可能的,因为我正在将字符串文字与字符数组进行比较,但是什么是一个好方法呢?我尝试过使用strcmp(命令,"hello")但仍然出错.
您可以提供的任何建议将非常感激.谢谢!
我已经写了我认为您要尝试做的事情的完整版本:
#include <string.h>
void main()
{
char command[20];
scanf("%s",command);
// command and "hello" can be less than, equal or greater than!
// thus, strcmp return 3 possible values
if (strcmp(command, "hello") == 0)
{
printf("\nThe user said hello!");
}
}
Run Code Online (Sandbox Code Playgroud)
有几个人对使用发表了评论scanf
,它们是正确的,除了新程序员必须从某个地方开始学习这些东西之外,所以不要觉得不好,我们都在学习...
希望这可以帮助。
当字符串相同时,strcmp返回0.我有使用strcmp比较字符数组和字符串文字的代码,当它不工作时我很困惑.事实证明,当字符串相同时,我认为它会返回1是错误的!
也许你犯了同样的错误?