vs2022编写c语言时出现断言问题,但是我又没有设置这个所报错误的变量?

作者站长头像
站长
· 阅读数 20

vs2022中编写了一个c语言程序,但是出现断言问题

**但是我又没有设置断言所报错误的变量,所以想请问一下该怎么解决!或者说我该怎么去debug这个错误,但是我的程序又能正常运行,就很奇怪,虽然它是报了断言的错误的程序。我是大概知道他是某个依赖的,但是我所写的这个代码是一个简版词法分析程序,大概分两部分,然后我在不同的文件写了这两个部分,然后合在一起便触发了断言,所以暂且不知道是哪个报得,所有我描述的详细一点,就是指条路让我好去debugvs2022编写c语言时出现断言问题,但是我又没有设置这个所报错误的变量? 打开debug看了堆栈,但是跳出来的是库,然后报错,没有跳转到我写的代码,还是不知道我哪个函数传的值不符合他的规范。就只知道c的值不符合,可以我调用的哪个函数传的值是他这个。vs2022编写c语言时出现断言问题,但是我又没有设置这个所报错误的变量?vs2022编写c语言时出现断言问题,但是我又没有设置这个所报错误的变量?vs2022编写c语言时出现断言问题,但是我又没有设置这个所报错误的变量?vs2022编写c语言时出现断言问题,但是我又没有设置这个所报错误的变量?vs2022编写c语言时出现断言问题,但是我又没有设置这个所报错误的变量?

回复
1个回答
avatar
test
2024-06-26

你在main函数中调用isspace的时候传入了一个负值:

answer image

可以看到,你传入的值是-3。而库对这里的断言限制为c >= -1 && c <=255。因此报错。你需要去检查为什么传入了-3

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容