c语言程序段
发布时间: 2023-10-17 14:04:38
A. c语言中,程序段分析
同学,第一个答案确是是"y=0"原因如下,首先我们要说自增和自减运算符“++”和“--”,如果该运算符的位置在操作数之前,则操作数在进行任何计算之前就已经发生改变,如果运算符在操作数后面,则操作数在完成表达式的计算之后才发生改变,例如int
a=5,b=8,c;c=a++*b;
//"++"在操作数a后面,先计算a*b=40,赋值给c,然后a++,a值为6,c的值为40c=++a*b;
//"++"在操作数a前面,先a++,a=7,再a*b,c=56然后我们来看你给的程序,因为是y--,"--"在y后面,则先判断while的条件,此时y=1,即true,为真,然后y--,y=0,然后输出y:y=0;然后再判断while,因为此时y=0,为假,跳出循环,结束。要注意顺序,先判断whlie,然后y--,若while条件为真,则执行while的语句。
若改成"--y"的话,则先计算"--y",y=0,再判断while的条件,此时y=0,即false,为假,直接跳出循环,即什么都不做,结束。
第二题,你要注意的是while的条件不是"k==1"而是"k=1",不是一个判断语句,而是一个赋值语句。即while的条件永远都是“k被赋值为1,然后k作为条件”进行判断,此时k是1,即true,为真会永远进行下去。
热点内容