作业帮 > 综合 > 作业

执行以下程序段后,y的值为 B.怎么算的?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/04 23:53:40
执行以下程序段后,y的值为 B.怎么算的?
static int a[ ] = { 1,3,5,7,9 };int y,x,*ptr;
y = 1;
ptr = &a[ 1 ];
for ( x = 0; x < 3; x ++ ) y *= *( ptr + x );
A. 105\x05\x05B.15
C. 945\x05\x05D.无定值
答案是105 ptr = &a[ 1 ];就是一个赋值 a[1]就是数组里面的第二个就是3 *( ptr + x )里面x依次是0 1 2 这个数值依次就是 3 5 7
y *= *( ptr + x );就是y乘以这个值
y=1*3
y=3*5
y=15*7=105
再问: 我算的结果也是105,问题是答案是B!!
再答: 那除非第一个指针赋值的是1 结果就是15 但是程序运行的结果是105