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 ...
随机推荐
- 阿里巴巴编程规约--digest
所谓卫语句,如果某个条件极其罕见,就应该单独检查该条件,并在该条件为真时立刻从函数中返回.这样的单独检查常常被称为“卫语句”. 微服务之间将DTO,Req放到一个单独的项目中,相关的项目都依赖这个底层 ...
- 使用readthedocs 发布 sphinx doc文档
readthedocs 是由社区驱动的开源sphinx doc 托管服务,我们可以用来方便的构建以及发布文档 这是一个简单的demo 项目,使用了用的比较多的sphinx_rtd_theme 主题,主 ...
- C语言博客作业--结构体,文件
1.本章学习总结(2分) 1.1 学习内容总结 (1)结构体如何定义.成员如何赋值 结构体的一般形式为: struct 结构体名 { 数据类型 成员名1: 数据 ...
- Good Morning
题目链接:Good Morning 题目大意:按键盘上的数字,只能在此位置的基础上往右往下按,要求输出与所给值差的绝对值最小的数 AC代码如下: #include <iostream> # ...
- 关于集成通用mapper的Mybatis代码生成器产生的model类注解
主要是@Table.@Id.@GeneratedValue.@Column 4个注解 这四个注解都来自javax.persistence包,是Java持久层规范,单纯的Mybatis并不认识这四个注解 ...
- 分享一些好用的 Chrome 扩展
阅读本文大概需要 2.8 分钟. 前言 使用浏览器扩展程序可以使你的工作效率提高数倍不止,那么下面我就向大家分享一下我日常使用的扩展,可能大多数扩展大家都已经在使用了,不过也难免有一两个是你不知道的. ...
- HTTP/1.0和HTTP/1.1 http2.0的区别,HTTP怎么处理长连接(阿里)
HTTP1.0 HTTP 1.1主要区别 长连接 HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接. HTTP是基于TCP/IP协议的,创 ...
- 20189220 余超《Linux内核原理与分析》第八周作业
Linux内核如何装载和启动一个可执行程序 本章知识点 ELF(Executable and Linking Format)是一种对象文件的格式,用于定义不同类型的对象文件(Object files) ...
- 第10组 Alpha冲刺(5/6)
链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 学习调用中国天气网API,接近实现天气推送功能 对天气推送的形式进行讨论及重确 ...
- Attention U-Net: Learning Where to Look for the Pancreas
Attention U-Net: Learning Where to Look for the Pancreas 2019-09-10 09:50:43 Paper: https://arxiv.or ...