C代码结果解释
您好,有人能给我解释一下为什么在我运行程序时,这段代码会在命令提示符上显示(00 11 21 32 42) 代码如下:C代码结果解释,c,C,您好,有人能给我解释一下为什么在我运行程序时,这段代码会在命令提示符上显示(00 11 21 32 42) 代码如下: int main() { int x = 0; int y = 0; while (x < 5) { y = x - y; printf("%i%i ", x, y); x = x + 1; } return 0; } intmain() { int x=0; int y=0; 而(
int main()
{
int x = 0;
int y = 0;
while (x < 5) {
y = x - y;
printf("%i%i ", x, y);
x = x + 1;
}
return 0;
}
intmain()
{
int x=0;
int y=0;
而(x<5){
y=x-y;
printf(“%i%i”,x,y);
x=x+1;
}
返回0;
}
谢谢。程序循环5次,而
x
在[0,4]
范围内,打印x
和y
的值语句
y=x-y
告诉我们y
的当前值将取决于x
的当前值和y
的先前值
x y
x = 0 ==> y = 0 (0 - 0)
x = 1 ==> y = 1 (1 - 0)
x = 2 ==> y = 1 (2 - 1)
x = 3 ==> y = 2 (3 - 1)
x = 4 ==> y = 2 (4 - 2)
第一次迭代:
x=0
y=0-0=0
第二:
x=1
y=1-0=1
第三:
x=2
y=2-1=1
第四:
x=3
y=3-1=2
第五:
x=4
y=4-2=2
在循环的每次迭代中,x增加1,y(第二位数字)是当前x减去前一个y的结果。您不了解程序的哪一部分?试着玩电脑,在脑子里运行那个程序,这应该会告诉你为什么它会打印那个;相反,买一支铅笔和一张纸。有两列,一列称为x和y,并在loop@EdHeal你脑子里没有两个寄存器的空间吗D@JoeDF为什么,这与问题有什么关系?@ USE2222961如果你发现我的答案有用,请考虑点击投票计数下的绿色复选标记来接受答案。