我想知道为什么在运行此代码时我得到无限输出。这是代码:
#include <stdio.h>
int main(){
int num;
printf(" enter a number\n");
scanf(" %d", &num);
for( num = 0 ; num <= 10 ; num+=num){
printf(" %d",num);
}
return 0;
}
答案 0 :(得分:2)
num+= num
永远不会递增num
。始终将0
添加到0
。 num = 0
中的for
循环覆盖num
的用户输入。
答案 1 :(得分:1)
num + = num始终将0添加到0(num),因此num的值永远不会增加。因此,num总是小于10并且循环永远不会退出。
答案 2 :(得分:0)
而num ++将导致num&gt; 0,num += num
,初始num = 0
得到的是num += 0
,循环永远不会达到10.只需使用num++
答案 3 :(得分:0)
int num;
printf(" enter a number\n");
scanf(" %d", &num);
for( num = 0 ; num <= 10 ; num++){
printf(" %d",num);
}
num + = num含义为num = num + num,num从0开始,所以num = 0总是这样进入无限循环。改变它num++
。