C语言……….若有定义语句:int a[4]={1,3,5,7},*p;p=a;则*(p+1)的值

C语言……….若有定义语句:int a[4]={1,3,5,7},*p;p=a;则*(p+1)的值是
2024-11-28 21:55:16
推荐回答(4个)
回答1:

*(p+1)=3
楼主追问
char s[10] = {‘A’,‘\0’,‘B’,‘C’,‘D’};则strlen(s)的值为
strlen是计算字符串长度,遇到'\0'结束返回长度,所以是1

struct num { int a ; int b ; float f ;} n = {1,3,5.0} ;struct num *pn = &n ;则表达式pn->b/n.a * ++pn->b的值是

pn结构体指针指向结构体n,n被初始化成{1,3,5.0}
pn->b/n.a * ++pn->b
<=>
pn->b = pn->b+1;
pn->b/n.a*(pn->b + 1)=3/1*2=6

结构体的->运算符优先级大于++
++这里是前加,先加1后再使用加后的值

回答2:

*p=a中的a就是&a[0],即a[0]的地址,所以*p(p+1)=a[1]的值,即为3

回答3:

p指向a的首地址,所以*(p+1)=a[1]=3

回答4:

3