指针后面有中括号表示什么
main(){
char st[20],*ps;
int i;
printf("input a string:\n");
ps=st;
scanf("%s",ps);
for(i=0;ps[i]!='\0';i++)
if(ps[i]=='k'){
printf("there is a 'k' in the string\n");
break;
}
if(ps[i]=='\0') printf("There is no 'k' in the string\n");
}
for循环中的第二个式子 为什么是for(i=0;ps[i]!='\0';i++) ps是指针变量啊?
人气:201 ℃ 时间:2020-01-30 01:13:41
解答
ps[i]里的中括号,C语言处理成运算符,ps[i] 等价于 *(ps+i),
C语言里,指针和数组关系密切.*ps, 一旦有指向地址后,就可以看成 一维数组ps[], 哪种形式便于阅读理解,就可以用哪种形式. ps[i] 等价于 *(ps+i).
推荐
猜你喜欢
- N2+3H2===2NH3 化学平衡
- 下列反应中,不属于氧化还原反应的是( ) A.2H2O2 催化剂 . 2H2O+O2↑ B.2Al(OH)3 △ . Al2O3+3H2O C.Fe2O3+3CO 高温 . 2Fe+3CO2 D.Cl2+2NaOH═NaCl+NaClO+
- 已知这个车间有工人85人,1个大齿轮和3个小齿轮配为一套,工作效率大齿轮是8个,小齿轮10个
- 1.关于“绿叶中色素的提取和分离”实验的叙述,不正确的是()
- 质量均为m的AB物体叠放在竖直轻质弹簧上
- 为什么凸透镜的某一侧面可以是平面甚至是凹面,那为什么凹透镜的某一侧面也可以是平面甚至是凸面?
- 如图所示,将Rt△ABC沿直角边AB向右平移2个单位至△DEF,如果AB=4,角ABC=90°,且△ABC的面积为6,试求阴影部
- 6年级1班男生人数原来占全班人数的九分之五;转来一名女生后,女生人数和男生人数的