指针++*p++
来源:互联网 发布:linux的date命令 编辑:程序博客网 时间:2024/05/30 22:59
下面是测试代码:
#include <stdio.h>main(){char b [] = "aehlox";char *p = b;printf("%s\n", p);printf("%s\n", p++);printf("%c\n", *p++);printf("%c\n", (*p)++);printf("%c\n", ++*p++);printf("%s\n", p);printf("%s\n", b);}
大家先想想输出结果
结果是:
aehloxaehlox
e
h
j
lox
aejlox
p:自然指向字符a位置
p++:先返回p(输出aehlox),再加1,即指向下一个字符e的位置
*p++:先返回*p(输出e),再加1,即指向下一个字符f的位置
(*p)++:先返回*p(输出h),再加1,把f位置的值修改成i
++*p++:由于操作符*和++优先级一样,且是向左结合,因此先执行p++,结果是返回p的拷贝(指向i的位置),p向后移动一个位置,接着执行++*p,即给p的指向加1,此时p指向的值为i+1后的值,即j
p:p此时指向l位置,打印输出lox
最后打印数组内容为:
- 指针中的 &p, p, *p
- 指针 *p++和*++p
- 指针++*p++
- 指针P
- 指针p,*p,&p之间的区别
- 指针p,*p,&p之间的区别
- 指针中*p,p,&p的理解
- p指针->AddRef() 和 p指针->Relase()
- C语言指针的*p++ ,*p(++), (*p)++,*++p的使用
- C语言指针的*p++ ,*p(++), (*p)++,*++p的使用
- [C]指针(*p)[10]
- delete p指针
- 二级指针**P
- int **p二级指针
- 小记C语言指针p与*p
- 指针 *p++与(*p)++的区别
- 理解指针,*p,p=&c
- C语言中的指针(*p p &p)
- 任意输入两个数(实数),求出它们的和差积商
- Android程序在android-x86上调试
- 因缺少icu导致在wince上启动ASA出现安全错误立即终止
- fibonacci数列(二) nyoj 数学
- arm学习小知识点汇总
- 指针++*p++
- IOS开发之---static变量
- 京东李鹏涛:如何迎接“双十一”电商饕餮盛宴
- #include<>和#include “”的区别
- 输入圆的半径,求出该半径的圆的周长和面积并输出
- 泛型算法
- Vmware10下安装Mac OS X Mountain Lion10.8.5
- 解决fatal: No remote repository specified. Please, specify either a URL...
- 输入矩形的长和宽,求出该矩形的周长和面积