为了账号安全,请及时绑定邮箱和手机立即绑定

函数为啥没返回值,求大神过目

函数为啥没返回值,求大神过目

C
慕标7193633 2018-04-03 23:29:01
查看完整描述

4 回答

?
onemoo

TA贡献883条经验 获得超454个赞

虽然不知道 SqList 的定义是什么,不过看起来 s 成员应该是个数组吧?

除了在 while 中没对 s 的大小做判断之外,这个代码在逻辑上似乎没有什么错。


你确定输入的那个 '?' 没错吧(中英文字符之类的)

查看完整回答
1 反对 回复 2018-04-06
  • 慕标7193633
    慕标7193633
    为什么要对s大小做判断呢?s就是一个数组名
  • 慕标7193633
    慕标7193633
    谢谢!知道了,就是?没用英文格式
  • onemoo
    onemoo
    “s的大小”指的是s这个数组的大小。while循环在不断地向数组s中写入,那么你的s是否足够容纳下这么多的元素呢? 如果你输入的太多,超过了s的容量就发生溢出,所以安全的做法是对写入的数量作判断,超过s的大小限制就不能再接受输入了。 当然你的例子中只输入了3个数,我猜也不会超过s的限制吧?(一般人写程序,s应该能容纳下3、5个数的),如果你的s确实声明得足够大,那么这里是不会出问题的,我提出这一点只是提醒你这里做得不够安全。 那么你的这个逻辑也没什么错误,所以我就猜测可能是中英文字符引起的,如果你输入的不是英文问号,就无法触发while的ch!='?'判断。
点击展开后面1
?
___C___

TA贡献168条经验 获得超109个赞

while并没有退出循环,while里面代码有误!请自行检查!

改进建议:仅保留scanf_s或getchar。

谢谢采纳!

查看完整回答
2 反对 回复 2018-04-05
  • 4 回答
  • 0 关注
  • 1220 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信