请读程序,输出结果为: ( ) #include<stdio.h> int a[ ]={2,4,6,8}; main() { int

请读程序,输出结果为: ( )
#include<stdio.h>
inta[ ]={2,4,6,8};
main()
{int i,b[4];
int*p=a;
for(i=0;i<4;i++){b[i]=*p;p++;}
printf("%d\n",b[2]);
}
A) 6 B)8 C)4 D) 2
谢了
解释一下。。

int*p=a; // p指向数组a,也就是a的第一个元素
for(i=0;i<4;i++)
{
b[i]=*p; // 设置b[i]为p指向的值
p++; // p向后移动,也就是指向a的下一个元素
}
整段代码的意思就是将a复制到b
所以b[2] = 6
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-18
a
y=(x=a+b),(b+c);
赋值操作符先算右边值,再赋给左边变量。
右边是个逗号表达式,返回的是最左边的值,也就是(x=a+b),这是个赋值表达是,它的值返回的就是
左操作数的应用。就是6.
整个就是y
=
6,
x
=
6.
恐怕除了教学再没什么用了吧。。
相似回答