#include <stdio.h>#include <string.h>void help(void){ printf("****************************\n"); printf("*help:帮助信息 *\n"); printf("*insert:插入链表节点 *\n"); printf("*print:遍历链表节点 *\n"); printf("*search:查询链表某个节点 *\n"); printf("*delet:删除链表某个节点 *\n"); printf("*free:释放整个链表 *\n"); printf("*quit:退出程序 *\n"); printf("****************************\n");}int main(int argc,char const *argv[]){ help(); while(1); { char cmd[128] =""; printf("请输入操作命令:"); scanf("%s",cmd); if(strcmp(cmd,"help") == 0) { help(); } else if(strcmp(cmd,"insert") == 0) { printf("-------链表插入-------\n"); } else if(strcmp(cmd,"print") == 0) { printf("-------链表遍历-------\n"); } else if(strcmp(cmd,"search") == 0) { printf("-------链表查询-------\n"); } else if(strcmp(cmd,"delet") == 0) { printf("-------链表删除-------\n"); } else if(strcmp(cmd,"free") == 0) { printf("-------链表释放-------\n"); } else if(strcmp(cmd,"quit") == 0) { break; } } return 0;}
时间: 2023-09-01 12:08:42 浏览: 45
这段代码有一个小错误,就是while循环后面多余了一个分号。在while循环的后面应该是一个大括号,表示循环体的开始,而不是分号。将分号改为大括号即可,修改后的代码如下:
```
#include <stdio.h>
#include <string.h>
void help(void){
printf("****************************\n");
printf("*help:帮助信息 *\n");
printf("*insert:插入链表节点 *\n");
printf("*print:遍历链表节点 *\n");
printf("*search:查询链表某个节点 *\n");
printf("*delet:删除链表某个节点 *\n");
printf("*free:释放整个链表 *\n");
printf("*quit:退出程序 *\n");
printf("****************************\n");
}
int main(int argc,char const *argv[]){
help();
while(1){
char cmd[128] ="";
printf("请输入操作命令:");
scanf("%s",cmd);
if(strcmp(cmd,"help") == 0){
help();
}
else if(strcmp(cmd,"insert") == 0){
printf("-------链表插入-------\n");
}
else if(strcmp(cmd,"print") == 0){
printf("-------链表遍历-------\n");
}
else if(strcmp(cmd,"search") == 0){
printf("-------链表查询-------\n");
}
else if(strcmp(cmd,"delet") == 0){
printf("-------链表删除-------\n");
}
else if(strcmp(cmd,"free") == 0){
printf("-------链表释放-------\n");
}
else if(strcmp(cmd,"quit") == 0){
break;
}
}
return 0;
}
```
另外,建议在scanf()函数中使用"%127s"格式化字符串,以防止输入的字符串超过数组长度造成缓冲区溢出。