求C语言大神回答该问题
答案:3 悬赏:0 手机版
解决时间 2021-02-02 09:40
- 提问者网友:棒棒糖
- 2021-02-02 06:52
求C语言大神回答该问题
最佳答案
- 五星知识达人网友:刀戟声无边
- 2021-02-02 07:24
函数声明最好放在MAIN外面。
FIND函数似乎没有达到返回空指针的效果。
而且你为什么要把一个INT型的NUM用引用符号然后函数里面再用解引用?用意不懂~~
最后,在if(y==0)前面加一个getchar();试试~追问返回空指针这一点我也实现不了。(刚学指针,不怎么懂。。。)
FIND函数似乎没有达到返回空指针的效果。
而且你为什么要把一个INT型的NUM用引用符号然后函数里面再用解引用?用意不懂~~
最后,在if(y==0)前面加一个getchar();试试~追问返回空指针这一点我也实现不了。(刚学指针,不怎么懂。。。)
全部回答
- 1楼网友:从此江山别
- 2021-02-02 09:08
应该是键盘输入缓存残留造成的,你在键盘的所有按键操作在原则上都记录在键盘输入缓存中,当遇到scanf或getchar等函数时会依次从缓存中取值,包括'\n',所以当你用scanf("%c",&judge);获取字符的时候,获得的是前一次输入残留的一个'\n'字符。
解决办法是在scanf("%c",&judge);前面加上一条语句fflush(stdin); 将键盘缓存区清空再读入数据。
解决办法是在scanf("%c",&judge);前面加上一条语句fflush(stdin); 将键盘缓存区清空再读入数据。
- 2楼网友:北城痞子
- 2021-02-02 07:34
楼上一个用fflush(stdin)或许可以解决,此类的问题简单,在scanf前面写一个getchar();可以轻松的解决,出来两行是应为你的while判断条件的原因,先你的scanf(judge)没有成功,且是一个逻辑或的判断,此时你的y!=0,循环继续下去了。
你这个函数是不是要实现查找一个字符,找到的话就删除吗?我有点看不懂,如果是我,我可能就是在do while 里面循环调用find+del,那样好像合理一些
你这个函数是不是要实现查找一个字符,找到的话就删除吗?我有点看不懂,如果是我,我可能就是在do while 里面循环调用find+del,那样好像合理一些
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯