我正在执行一项任务,并且遇到了一些奇怪的事情。我的程序中有这个 while 循环,它似乎没有分支到 for 循环中。我放置了两个打印语句,只有“1”一遍又一遍地打印。请注意,这只发生在我从 linux 终端编译和运行时。现在看起来很奇怪的是,如果我在 Netbeans 中运行完全相同的代码(while 循环加上其他所有代码),它似乎可以编译并按预期运行。任何人都知道可能出了什么问题。这是代码。我感谢您的帮助。
while(strstr(p,string_a)!= NULL)
{
p = trailerp + pholderp;
long int index = strstr(p,string_a) - (p+1); // -1 where it hits
printf("1");
for( i = 0; i <= index; i++)
{
printf("2");
p2[trailerp2] = pholderp[trailerp];
trailerp++;
trailerp2++;
if(i == index)
{
int j;
for(j=0; j <= lenb-1; j++) // insert the new string
{
p2[trailerp2] = string_b[j];
trailerp2++;
}
trailerp++;
}
}
}
编辑:我发现了问题。Netbeans 似乎在这个操作系统中被破坏了。