c语言中int a=0; int sum=0; whilea=5a=a++; sum=sum+a; printftdd&a∑和int a=0; int sum=0; whilea=5sum=sum+a; a=a++; printftdd&a∑和int a=1; int sum=0; whilea=5a=a++; sum=sum+a; printftdd&a∑以及int a=
第一个程序的结果是a=1,sum=1。 第二个程序的结果是a=0,sum=0。 第三个程序的结果是a=1,sum=1。 第四个程序的结果是a=0,sum=0。
在第一个和第三个程序中,a=a++会先将a的值赋给a,然后再将a的值加1。所以a的值不会发生变化。而在第二个和第四个程序中,a=a++会先将a的值加1,然后再将a的值赋给a。所以a的值会加1。
当循环变量a的初始值为0时,需要将while循环条件设置为a<=4,因为循环条件是在循环体执行完之后判断的,如果循环条件是a<=5,那么循环体会执行6次,导致结果错误。
当循环变量a的初始值为1时,需要将while循环条件设置为a<=5,因为循环条件是在循环体执行完之后判断的,如果循环条件是a<=4,那么循环体只会执行4次,导致结果错误。
原文地址: http://www.cveoy.top/t/topic/istu 著作权归作者所有。请勿转载和采集!