C语言题:定义:char s[20]="programming",*p=s;则不能正确表示S[2]元素的表达式是?A:P+2 B:*(S+2) C:P[2] D:P+=2,*PB和D我明白 主要是A和C

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/16 15:42:44
C语言题:定义:char s[20]=

C语言题:定义:char s[20]="programming",*p=s;则不能正确表示S[2]元素的表达式是?A:P+2 B:*(S+2) C:P[2] D:P+=2,*PB和D我明白 主要是A和C
C语言题:定义:char s[20]="programming",*p=s;则不能正确表示S[2]元素的表达式是?
A:P+2 B:*(S+2) C:P[2] D:P+=2,*P
B和D我明白 主要是A和C

C语言题:定义:char s[20]="programming",*p=s;则不能正确表示S[2]元素的表达式是?A:P+2 B:*(S+2) C:P[2] D:P+=2,*PB和D我明白 主要是A和C
*p=s,将数组的首地址赋给p,p+2 等同于 s+2,p[2]则等同于*(p+2),
C语言里,编译器会将指针操作转化为下标操作,如*(s+2)会被转化为s[2]运算