![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
求教c语言中这道题是怎么解出来的?
指针题我给算懵了,知道条件是当p运行到\0停止结束,也知道每次之后p会加一但是不清楚为什么运行出这几个字符我算出的是b/c,但是却得出了这个请问这是怎么算的。求详细输出循...
指针题我给算懵了,知道条件是当p运行到\0停止结束,也知道每次之后p会加一但是不清楚为什么运行出这几个字符我算出的是b/c,但是却得出了这个请问这是怎么算的。求详细输出循环过程:#include<stdio.h>main(){ char *p="ab\\cd"; while(*p++) printf("%c",*p);}
展开
1个回答
展开全部
while(*p++)相当于while(*p!='\0', p=p+1)
在第一次执行循环时p++指向'b'
所以会打印从第二个字符'b'开始的所有字符
在第一次执行循环时p++指向'b'
所以会打印从第二个字符'b'开始的所有字符
追问
是因为p++所以从第二个字符开始的吗,那请问为什么会少一个\
追答
因为本来就只有一个\啊
字符串字面值中\用作转义字符,要表示\字符本身得写两个\
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询