我是C的新手,不确定我的循环是否正确转换。
while(a<b--)
{
do
{
d+=a++;
}
while(a!=c);
c+=a&b;
}
这是我的循环
for( ; a<b ; b--)
{
d += a++;
for( ; a != c ; a++)
{
c+= a&b
}
}
我知道这可能很容易也很愚蠢,但我希望你能帮助我:) THX
答案 0 :(得分:2)
我认为它应该是这样的:
for(;a<b--;){
for(d += a++ ; a != c ; )
{
d += a++;
}
c+= a&b
}
以上逻辑有效!
我按如下方式运行了两个程序,它们输出相同的结果:
计划1:[来自您的计划1]
#include<stdio.h>
int main(){
int a=10,b=10,c=10,d=10;
while(a<b--)
{
do
{
d+=a++;
}
while(a!=c);
c+=a&b;
}
printf("a=%d\tb=%d\tc=%d\td=%d",a,b,c,d);
}
它输出:
a=10 b=9 c=10 d=10
同样改变了Program2:[按要求]
#include<stdio.h>
int main(){
int a=10,b=10,c=10,d=10;
for(;a<b--;){
for(d += a++ ; a != c ; )
{
d += a++;
}
c+= a&b;
}
printf("a=%d\tb=%d\tc=%d\td=%d",a,b,c,d);
}
它输出相同的内容:
a=10 b=9 c=10 d=10