while(scanf(%s)!=EOF)的问题

我这个链表代码其他的没什么问题,就是输入add的时候运行结束以后会直接退出程序,但是把主程序if里面的delete和add调换就没有这个问题了,请问出现这种情况的原因是什么

img

img

img

img

img


while(scanf(%s)!=EOF)
改为
while(scanf("%s",&a)!=EOF)

strcmp函数的返回值如果是0,表示两个字符串相等,你理解正好反了啊
strcmp(a,"add") == 0,表示输入的a就是add串,结果你执行了del函数。所以你交换一下条件确实就对了。