检查for循环条件时如何解决错误6011?

How to solve error 6011 when cheking for-loop condition?

我是 C 语言的新手,并尝试检查循环条件以在互联网上找到,但我收到此错误我无法解决(没有其他 questions/answers 有帮助):

void main() {

char* insert = malloc(30);

printf("Insert a Molecular Formula:\n");
gets(insert);

if (insert) {
    for (int i = 0; insert[i] != '[=10=]'; i++) {
    }
} }

检查 insert[i] != '[=11=]' 时,我在 for 循环内的 VS 中收到错误 6011。 我还没有找到好的修复方法,我试过检查 return of malloc like if(!insert){ //above code here} 但这没有帮助。 提前致谢。

错误 C6011 是警告,而不是错误,因此您的代码会 运行,但如果 Visual Studio 指出这些问题,处理这些问题也不错。

要让警告消失,请像这样修复循环:

if (insert)
{
    for (int i = 0; insert[i] != '[=10=]'; i++) {
    }
}