#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fun1(void);
void func1()
{
printf("Function1 executed \n");
}
int main()
{
char syscom[256];
char check[] = "cmd";
do
{
printf("Enter function : ");
fflush (stdout);
scanf("%255s",syscom);
int numb;
numb = strcmp("funct1",syscom);
printf("%d\n",numb);
if (numb == 1)
{
func1();
}
}while(strcmp("quit",syscom) != 0);
return 0;
}
由于某种原因,strcmp在do-while循环中运行良好,但在实际循环中,您可以选择返回1的函数。例如,在Enter函数部分中,即使键入随机字符串,它也会生成1而不是0,就像我想要的那样。我知道c ++会使这个程序变得轻而易举,但我希望这个可以在c。
所以我把标题作为多个字符串,因为程序将具有多个功能,这些都没有包括在内,因为我不知道如何在多个函数上使用strcmp。
答案 0 :(得分:1)
改变这个:
numb = strcmp("funct1",syscom);
printf("%d\n",numb);
if (numb == 1) {
func1();
}
到此:
numb = strcmp("funct1",syscom);
printf("%d\n",numb);
if (numb == 0) {
func1();
}
下次发帖时,请先查看ref:
返回一个整数值,表示字符串之间的关系: 返回值表示: