C语言之指针在printf语句里面的使用规范
*** 一级指针的使用规则探索 ***
#include<stdio.h>
#include<stdlib.h> void main()
{
char *p;
p = "uvtgyujyg"; //一
//直接使用*p+n
printf("%c %d\n",*p); //==》u
printf("%c %d\n",*p+); //==》v
printf("%c %d\n\n",*p+); //==》w //直接使用 (*p)+n
printf("%c %d\n",(*p)); //==》u
printf("%c %d\n",(*p)+); //==》v
printf("%c %d\n\n",(*p)+); //==》w //使用 *(p+n) ==> 正确用法 可逐个将p中的各个字符打印出来
printf("%c %d\n",*p); //==》u
printf("%c %d\n",*(p+)); //==》v
printf("%c %d\n",*(p+)); //==》t
printf("%c %d\n\n",*(p+)); //==>g //不使用* ==》 可打印出该字符串
printf("%s\n",p); //==》uvtgyujyg
printf("%c\n",p); //==》乱码 printf("\n"); //二
//使用*p++时
*p++;
printf("%c %d\n",*p); //==》v
printf("%c %d\n",*p+); //==》w
printf("%c %d\n\n",*p+); //==》x //不使用*
printf("%s\n",p); //==》vtgyujyg (相较于之前少了第一个字符u)
printf("%c\n",p); //==》乱码 printf("\n"); //四
//直接使用p+n ==》 正确
p = p + ;
printf("%s\n",p); //==》tgyujyg
printf("%c %d\n",*p); //==》t
printf("%c %d\n",*(p+)); //==》g
printf("%c %d\n",*(p+)); //==》y
printf("%c %d\n\n",*(p+)); //==>u #if(0)
//
//使用(*p)+n时 ==》 //运行直接错误,无法运行
p = (*p)+;
//使用 *(p+n) ==> 可逐个将p中的各个字符打印出来
printf("%c %d\n",*p); //==》u
printf("%c %d\n",*(p+)); //==》v
printf("%c %d\n",*(p+)); //==》t
printf("%c %d\n\n",*(p+)); //==>g (*p)++; //运行直接错误,无法运行
printf("%c\n",*p); //==》
printf("%s\n",p); //==》
printf("%c\n",*p+); //==》
printf("%c\n",p); //==》
#endif system("pause");
return ;
}
C语言之指针在printf语句里面的使用规范的更多相关文章
- C语言函数指针基础
本文写的非常详细,因为我想为初学者建立一个意识模型,来帮助他们理解函数指针的语法和基础.如果你不讨厌事无巨细,请尽情阅读吧. 函数指针虽然在语法上让人有些迷惑,但不失为一种有趣而强大的工具.本文将从C ...
- *C语言有关指针的变量声明中的几个易错点
转至:http://my.oschina.net/ypimgt/blog/108265 Technorati 标签: 指针, typedef, const, define 我们都知道,至少听说过 ...
- 编程基础-c语言中指针、sizeof用法总结
1.指针 学习 C 语言的指针既简单又有趣.通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的.所以,想要成为一名优秀的 C 程序员,学习指针是很有必要的. ...
- C语言二重指针与malloc
(内容主要源于网上,只是加入了些自己的剖析) 假设有一个二重指针: char **p; 同时有一个指针数组 char *name[4]; 如何引用p呢? 首先我们有程序代码如下 #include &l ...
- C语言本身并不提供输入输出语句
C语言本身并不提供输入输出语句,输入和输出操作是由函数来实现的.在C标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数.在使用他们时,千万不要误认为他们是C语言提供的“输入输出 ...
- Android For JNI(五)——C语言多级指针,结构体,联合体,枚举,自定义类型
Android For JNI(五)--C语言多级指针,结构体,联合体,枚举,自定义类型 我们的C已经渐渐的步入正轨了,基础过去之后,就是我们的NDK和JNI实战了 一.多级指针 指针的概念我们在前面 ...
- “对外部(局部)变量的访问”是C语言函数指针的最大弱点
1.“对外部(局部)变量的访问”是C语言函数指针的最大弱点 . #include <stdio.h> #include <stdlib.h> /* 结构体定义 */ struc ...
- go语言学习--指针的理解
Go 的原生数据类型可以分为基本类型和高级类型,基本类型主要包含 string, bool, int 及 float 系列,高级类型包含 struct,array/slice,map,chan, fu ...
- C语言函数指针 和 OC-Block
C语言函数指针 和 OC-Block 一. C语言函数指针 关于函数指针的知识详细可参考:http://www.cnblogs.com/mjios/archive/2013/03/19/2967037 ...
随机推荐
- ARDUIN人体检测模块
http://henrysbench.capnfatz.com/henrys-bench/arduino-sensors-and-input/arduino-hc-sr501-motion-senso ...
- [转]查看 docker 容器使用的资源
作者:sparkdev 出处:http://www.cnblogs.com/sparkdev/ 在容器的使用过程中,如果能及时的掌握容器使用的系统资源,无论对开发还是运维工作都是非常有益的.幸 ...
- 在Matlab中画图输出
在Matlab中画图后,可能会调整格式.输出存储时,格式会忽然消失. 可以修改右下边Export setup,将Font size设置成auto. 这样就保留了编辑效果.
- GoCN每日新闻(2019-10-01)
GoCN每日新闻(2019-10-01) GoCN每日新闻(2019-10-01) 1. 我依然爱着 GOPATH https://divan.dev/posts/gopath/ 2. Go 代码注释 ...
- TRUNCATE、Drop、Delete 的用法
//Truncate是一个能够快速清空资料表内所有资料的SQL语法.并且能针对具有自动递增值的字段,做计数重置归零重新计算的作用. truncate table1; drop table1; dele ...
- 【POJ2488】A Knight's Journey
题目传送门 本题知识点:深度优先搜索 + 回溯 + 剪枝 + 字典序 题意是给你一个由 p,q 组成一个矩形的棋盘,让你用马棋在这上面走,是否能一线走完这 p * q 个格子. 关于这条路线是怎么走的 ...
- OpenFOAM——梯形腔双边驱流
本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL054: Laminar flow in a Trapezoidal Cavity ...
- 微信小程序之数据缓存
关于缓存,举个示例,假定我不是通过微信授权登录的方式,小程序又是如何识别我登录后的身份呢???效果图: 这个功能我是通过缓存实现的. 关键核心代码如下: wx.setStorage({ key: 'u ...
- 20189220 余超《Linux内核原理与分析》第七周作业
分析Linux内核创建一个新进程的过程 基础知识概括 操作系统内核实现操作系统的三大管理功能,即进程管理功能,内存管理和文件系统.对应的三个抽象的概念是进程,虚拟内存和文件.其中,操作系统最核心的功能 ...
- ssm框架中,项目启动过程以及web.xml配置详解
原文:https://blog.csdn.net/qq_35571554/article/details/82385838 本篇主要在基于SSM的框架,深入讲解web.xml的配置 web.xml ...