我想把这个循环转换成for循环,但是我不能让它工作,它在c中。
while(args[argCounter]){
if(!strcmp(args[argCounter], "|")){
args[argCounter] = NULL;
cmdbegin[child] = argCounter + 1;
child++;
}
argCounter++;
}
最佳答案
我会翻译如下:
for (int argCounter = 0 ; args[argCounter] ; argCounter++){
if(!strcmp(args[argCounter], "|")){
args[argCounter] = NULL;
cmdbegin[child++] = argCounter + 1;
}
}
我添加了
argCounter
的声明和初始化,但您没有显示。转换非常机械:argCounter++
移动到for
循环标题的第三个“隔间”,我将
child++
移到赋值中,以便稍微缩短代码;这是可选的。