【发布时间】:2020-07-27 13:16:33
【问题描述】:
这是我的代码,有人可以将它从 while 转换为在 c 中执行,非常感谢!!
for(int i=1;i<=31;++i){
if(hashTables[i]!=NULL){
printf ("Index %d: %s",i,hashTables[i]->value);
data *current=hashTables[i];
while(current->next!=NULL){
printf (" -> %s",current->next->value);
current=current->next;
}
printf ("\n");
}
}
【问题讨论】:
-
在您的 specific 情况下,这很简单:将
do替换为整个while行(分号除外),然后删除该while行。 (不过,这在其他情况下并不总是有效。) -
它主要起作用,因为您将测试条件
empty==false设置为正确,以便循环在第一个循环之前立即运行,在empty=false;` 声明。见这里:'do...while' vs. 'while'. -
此代码将在数组末尾运行。当
key+i到达m时,循环本身需要停止。如果您发布minimal reproducible example,您会得到更好的答案。
标签: c loops while-loop do-while dev-c++