计算机二级C语言题目

来源:互联网 发布:linux系统ping包 编辑:程序博客网 时间:2024/05/01 18:54
看答案 i = 2的时候 最终有交的是最后一次循环 所以覆盖前面赋的值 因为每次都是赋值给k 然后是第三个循环 没什么可怀疑了|||1、第一个循环a[]={0 结果就是12 k=p[2]*2=12;就是这样的答案补充我刚刚编译了一下 p[2]=a[2*(2+1)]=a[6]=6;当i==2时 a[9]=9;当i==2时 所以3个循环的意义都是一样的我们来分析最后一次循环就好了当i==9时 当i=10是退出的循环因为每次i都是从0开始 那你看题 说明for已经退出了 给你个思路当printf执行时 给p[0] p[1] p[2] 赋值为p[0] = a[0 * (0 + 1)] = a[0] = 0 2 9};2、第二个循环p[]={0 8 7 6 5 4 3 2 1 答案是12你先确定一下你没抄错题不过不要紧 给a[0] .. a[9]赋值为0..9第二个循环 第一条之后k的值为5然后是第一个循环 猜第三个循环中的赋值语句应该是 k += p[i] * 2;那么就是k = 5 + 0 * 2 = 5;k = 5 + 2 * 2 = 9;k = 9 + 6 * 2 = 21 p[2] = a[2 * (2 + 1)] = a[6] = 6 p[1] = a[1 * (1 + 1)] = a[2] = 2 6};3、第三个循环K = 12;|||如果只看赋值语句 k = p[2] * 2 = 6 * 2 = 12