*** 一级指针的使用规则探索 ***

#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语句里面的使用规范的更多相关文章

  1. C语言函数指针基础

    本文写的非常详细,因为我想为初学者建立一个意识模型,来帮助他们理解函数指针的语法和基础.如果你不讨厌事无巨细,请尽情阅读吧. 函数指针虽然在语法上让人有些迷惑,但不失为一种有趣而强大的工具.本文将从C ...

  2. *C语言有关指针的变量声明中的几个易错点

    转至:http://my.oschina.net/ypimgt/blog/108265   Technorati 标签:  指针, typedef, const, define 我们都知道,至少听说过 ...

  3. 编程基础-c语言中指针、sizeof用法总结

    1.指针 学习 C 语言的指针既简单又有趣.通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的.所以,想要成为一名优秀的 C 程序员,学习指针是很有必要的. ...

  4. C语言二重指针与malloc

    (内容主要源于网上,只是加入了些自己的剖析) 假设有一个二重指针: char **p; 同时有一个指针数组 char *name[4]; 如何引用p呢? 首先我们有程序代码如下 #include &l ...

  5. C语言本身并不提供输入输出语句

    C语言本身并不提供输入输出语句,输入和输出操作是由函数来实现的.在C标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数.在使用他们时,千万不要误认为他们是C语言提供的“输入输出 ...

  6. Android For JNI(五)——C语言多级指针,结构体,联合体,枚举,自定义类型

    Android For JNI(五)--C语言多级指针,结构体,联合体,枚举,自定义类型 我们的C已经渐渐的步入正轨了,基础过去之后,就是我们的NDK和JNI实战了 一.多级指针 指针的概念我们在前面 ...

  7. “对外部(局部)变量的访问”是C语言函数指针的最大弱点

    1.“对外部(局部)变量的访问”是C语言函数指针的最大弱点 . #include <stdio.h> #include <stdlib.h> /* 结构体定义 */ struc ...

  8. go语言学习--指针的理解

    Go 的原生数据类型可以分为基本类型和高级类型,基本类型主要包含 string, bool, int 及 float 系列,高级类型包含 struct,array/slice,map,chan, fu ...

  9. C语言函数指针 和 OC-Block

    C语言函数指针 和 OC-Block 一. C语言函数指针 关于函数指针的知识详细可参考:http://www.cnblogs.com/mjios/archive/2013/03/19/2967037 ...

随机推荐

  1. Goexit

    package main import ( "fmt" "runtime" ) func test() { defer fmt.Println("cc ...

  2. MySQL 内连接、外连接、左连接、右连接、全连接……太多了

    用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). 主题:内连接 ...

  3. Visual C++ 里的 Classes, Methods and RTTI

    类的基本布局 为了说明以下内容,让我们考虑这个简单的例子: class A { int a1; public: virtual int A_virt1(); virtual int A_virt2() ...

  4. GoCN每日新闻(2019-10-13)

    GoCN每日新闻(2019-10-13) 1. 通过测试学习Go语言 https://mp.weixin.qq.com/s/MGT_yoP_NdWVGpwlAJFK4A2. go panic reco ...

  5. Dubbo+zookeeper实现单表的增删改查

    1.数据库准备 建表语句 CREATE TABLE `tb_brand` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) DEFAULT NULL COMMENT ...

  6. hangfire控制台应用程序中添加控制面板

    1.使用nuget 管理包安装 Microsoft.AspNet.WebApi.OwinSelfHost 2.根目录添加新建类 名为:Startup.cs public class Startup { ...

  7. SymPy解方程的实现

    https://www.cnblogs.com/zgyc/p/6277562.html SymPy完全是用Python写的,并不需要外部的库 原理: 单纯用语言内置的运算与变量解决的是,由值求结果.如 ...

  8. 《精通CSS第3版》(6)内容布局(定位+水平布局)

  9. Java面试底层原理

    面试发现经常有些重复的面试问题,自己也应该学会记录下来,最好自己能做成笔记,在下一次面的时候说得有条不紊,深入具体,面试官想必也很开心.以下是我个人总结,请参考: HashSet底层原理:(问了大几率 ...

  10. 修改LINUX 默认的22端口

    Linux远程端口修改操作手册 一.修改端口前需要检查selinux状态,并把selinux永久关闭 关闭方法: 1. 执行setenforce 0 2.  vi /etc/selinux/confi ...