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

test
2024-06-26
你在main
函数中调用isspace
的时候传入了一个负值:
可以看到,你传入的值是-3
。而库对这里的断言限制为c >= -1 && c <=255
。因此报错。你需要去检查为什么传入了-3
回复

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