我相信这是因为 strcmp()。到目前为止,我尝试了多种方法,这只是最新的。我的目标是获取数组的索引,以便我可以继续使用 switch 语句来执行代码。任何帮助将不胜感激,尽管我只期待“你不能这样做。”
大局是将这段代码合并到一个具有多个“功能”的“实用程序”文件中,并像 util("Ping") 一样调用它来执行 Ping 等等...
int main(){
char *cmd = "Ping";
char *names[3]={"Ping","Stop","Go"};
int index = 3;
int i;
char *test;
for (i = 0; i < 44; i++)
{
test = names[i];
if (!strcmp(cmd,test))
{
index = i;
}
}
printf("%s is index of %d\n",cmd,index);}
最佳答案
为什么要循环44次我不明白。但是当我在循环中将 44 更改为 3 时,它就起作用了。
for (i = 0; i < 3; i++)
虽然取决于您的编译器,但在 44 个迭代窗口的情况下,我会收到消息应用程序没有响应。
关于c - 为什么使用 strcmp 会出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37998031/