[练习题]设char s[]="9876",*p;,执行语句for(p=s;p<s+3;p++)printf("%s/",p);后输出结果是

正确答案:9876/876/76/
题目解析

p=s是指针变量p指向数组s[]的首地址即s[0],故for(p=s;p<s+3;p++)可以写成for(p=0;p<3;p++),

则当p=0时,指针变量p指向数组的首地址为s[0],输出的结果为9876/;

当p=1时,指针变量p指向数组的首地址为s[1],输出的结果为876/; 

当p=2时,指针变量p指向数组的首地址为s[2],输出的结果为76/; 

当p=3时,不符合p<3,即结束循环,故输出的结果为9876/876/76/。

扫描二维码
免费搜题、免费刷题、免费查看解析