#include main() {int a[10]={1,2,3,4,5,6},*p; p=a; *(p+3)+=2;
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/01 19:59:06
#include main() {int a[10]={1,2,3,4,5,6},*p; p=a; *(p+3)+=2; printf("%d,%d",*p,*(p+3));
求详解
求详解
输出1,6.因为本身数组名也是一种指针,其指针类型与数组类型相同.数组名指针指向的内容就是数组的第一个元素,也就是下标为0的元素.那么让一个指针等于数组名,其实就是让这个指针指向数组第一个元素也就是下标为0的元素.所以*p=a[0],*(p+3)=a[3],而且是引用,所以使用*(p+3)修改的是数组的内容,所以*(p+3)+=2;之后,就是使得数组下标为3的元素的值+2.,所以a[3]=6.所以输出*p=a[0]=1,*(p+3)=a[3]=6.不明白可追问.
#include "stdio.h" main() { int a []={1,2,3,4,5},*p;p=a;*(p+
#include main(){int a[]={1,2,3,4,5,6,7,8,9,0},*p; p=a; print
#include void main( ) { int a=3,b=5; int *p,*q; void f1(int
main() {int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf("%d"
main() {int a【5】={2,4,6,8,10},*p,**k; p=a;k=&p;
#include main() { int j,a[]={1,3,5,7,9,11,13,15},*p=a+5; for
#include main() { int j,a[ ]={1,3,5,7,9,11,13,15},*p=
fun ( int *p ) { int a=10; p = &a; ++a; } main ( ) { int a=5
C语言 k=&p main(){ int a[5]={2,4,5,6,10},*p,**k;p=a; k=&p; pri
{ int a[]={1,2,3,4,5,6}; int*p; p=a; printf("%d\n",*p); prin
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int **p; p=(int**)a;
main() { int a【】={1,2,3,4,5,6,7,8,9,0},*p; p=a; printf("%d\n