C 计算2的幂,每次打印0
这是我的密码:C 计算2的幂,每次打印0,c,C,这是我的密码: int foo() { int a = 1; while(1) { a *= 2; printf("a = %d\n", a); } return a; } int main(void) { foo(); return 0; } 它只是不断打印出“a=0”。我糊涂了!我错过了一些非常简单的东西吗?它溢出到零,并停留在那里 它溢出到零,并停留在那里 它对我来说很好()WTF是,而(1)你故意从不退出循环?@iharob我怀疑这是整个实
int foo() {
int a = 1;
while(1) {
a *= 2;
printf("a = %d\n", a);
}
return a;
}
int main(void) {
foo();
return 0;
}
它只是不断打印出“a=0”。我糊涂了!我错过了一些非常简单的东西吗?它溢出到零,并停留在那里 它溢出到零,并停留在那里 它对我来说很好()WTF是
,而(1)
你故意从不退出循环?@iharob我怀疑这是整个实际程序。这可能是一个简单的例子,旨在说明问题是什么,就像你应该发布的那样。同样,要打印二的幂,你应该学习为什么OP没有把这个例子变成一个简单的(…)
的例子,这让我很困扰,因为我在非常复杂的情况下看到有人故意使用而(1)
。。。而且,使用一个简单的for-likefor(i=0;i<31;i++)
这个问题不会发生,对吗?它对我来说很好()WTF是,而(1)
你故意从不退出循环?@iharob我怀疑这是整个实际程序。这可能是一个简单的例子,旨在说明问题是什么,就像你应该发布的那样。同样,要打印二的幂,你应该学习为什么OP没有把这个例子变成一个简单的(…)
的例子,这让我很困扰,因为我在非常复杂的情况下看到有人故意使用而(1)
。。。而且,用一个简单的for-likefor(i=0;i<31;i++)
这个问题不会发生,是吗?