今年没有雪
2021-07-12 11:59
采纳率: 100%
浏览 35

C语言循环问题!有谁知道这个是什么原因造成的?

最近在学C语言,发现循环条件不起作用啊,有知道的小伙伴能够解决解决这个问题?代码及运行结果如下:

img

img

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • CSDN专家-Fay 2021-07-12 12:03
    已采纳

    这个循环条件未必能判断到,还是在里面用if判断,如果符合条件就break 出循环

    已采纳该答案
    打赏 评论
  • qfl_sdu 2021-07-12 12:44

    scanf_s()函数返回的不是读取的数据的值,而是读取的数据的个数,因为在你的代码里只读取一个数字,所以在没有输入错误的情况下这个返回值永远是1,所以scanf()==1就永远成立。
    如果想要退出,需要在你的whle中添加判断,比如想要输入-1时结束循环,那么:
    while(scanf_s("%d",&num))
    {
    if(num == -1) break; //判断输入的值是否是-1
    //剩下的是原来的代码
    }

    打赏 评论

相关推荐 更多相似问题