在 C 语言中,我们会经常使用到单引号和双引号。那么单引号用来表示字符字面量,双引号是用来表示字符串字面量。

'a' 表示字符字面量,在内存中占1个字节; 'a' + 1表示 'a' 的 ASCII 码加1,结果为 'b'。

"a" 表示字符串字面量,在内存中占2个字节;"a" + 1表示指针运算,结果指向"a"结束符'\0'。

字符字面量在 C 语言中国被编译为对应的 ASCII 码,字符串字面量被编译为对应的内存地址。printf 的第一个参数被当成字符串内存地址,内存的低地址空间不能在程序中随意访问。下图表示三种写法的地址

我们接下来看个示例代码,代码如下:#include

int main()

{

char c = " ";

while( (c == "\t") || (c == " ") || (c == "\n") )

{

scanf("%c", &c);

}

return 0;

}

我们这段代码是想实现当用户输入 tab 键、空格或者回车时,程序继续循环执行。当用户随便输入字母或者数字什么的,程序就执行完毕。我们来编译下看看结果是否如此

并没有实现这个功能,显然编译出了3个警告,而且我们运行后程序仿佛没执行while循环。我们再来仔细分析下这个程序,我们上面 char c = " "; 相当于 char c = "string"; 程序编译后字符串"string"的内存地址被赋值给变量 c;内存地址占 4 个字节,而变量 c 只占1个字节;由于类型不同,赋值后产生截断。那么我们如何解决这个问题呢?只需将所有的双引号换成单引号即可,我们再次编译,得到结果如下:

我们看到程序没有编译错误,运行后效果也是我们所期望的。今天我们学习了单引号和双引号的相关知识,总结如下:1、单引号括起来的单个字符代表整数,双引号括起来的字符代表字符指针;2、C 编译器接受字符和字符串的比较但无任何意义,允许字符串对字符变量赋值,只能得到错误。后面我们会继续对 C 语言的学习。

欢迎大家一起来学习C 语言,可以加我QQ:243343083。

c 语言将单引号赋给字符变量,C之单引号和双引号(十三)(示例代码)相关推荐

  1. c 语言将单引号赋给字符变量,C语言的单引号和双引号实例讲解

    c语言中的单引号用来表示字符字面量 c语言中的双引号用来表示字符串字面量 例如: 'a'表示字符字面量,占1个字节,'a' + 1表示 'a'的ascii码加1,结果为'b' "a" ...

  2. python创建包含双引号的字符串代码_python 字符串组成MySql 命令时,字符串含有单引号或者双引号导致出错解决办法...

    引用自:https://blog.csdn.net/zhaoya_huangqing/article/details/48036839 一.在组成SQL语句并发送命令时完全按照Python中的样式去传 ...

  3. 在Java中中文需要用双引号吗_Java语言支持Unicode,自然支持中文,所以Java中可以使用中文的双引号、单引号、分号代替英文的双引号、单引号、分号。...

    A.Operated on patients.B.Played music to the patients.C.Cleaned the floo 试述厂商的要素使用原则. 用科学记数法记出的数7.04 ...

  4. c语言中文件的只读属性,C/C++ 文件属性设置(隐藏、只读、加密等)(示例代码)

    GetFileAttributes 获取文件属性函数的返回值 返回字段 返回值 属性类型 FILE_ATTRIBUTE_READONLY 1 只读 FILE_ATTRIBUTE_HIDDEN 2 隐藏 ...

  5. 锦标赛算法c语言,多目标遗传算法 ------ NSGA-II (部分源码解析) 交叉操作 crossover.c(示例代码)...

    遗传算法中的交叉操作是 对NSGA-II  源码分析的  最后一部分, 这一部分也是我 从读该算法源代码和看该算法论文理解偏差最大的  函数模块. 这里,首先提一下,遗传算法的  交叉操作.变异操作都 ...

  6. 【C语言进阶剖析】14.C语言中的单引号和双引号

    文章目录 一.单引号和双引号 二.小贴士 三.程序实例分析1 四.程序实例分析2 五.容易混淆的代码 六.小结 一.单引号和双引号 C语言中的单引号用来表示字符字面量 C语言中的双引号用来表示字符串字 ...

  7. c字符串中包含双引号_必须知道的C语言知识细节:单引号和双引号正确用法

    C语言中ACSII码字符单引号'和双引号"在程序中经常出现,很简单,但却是十分重要的语法标点符号,初学者容易混淆使用. 单引号在字符常量时使用,表示单个字符. 例如: char c; c = ...

  8. php语言中双引号的作用是什么,php中的单引号与双引号作用详解

    一.引号定义字符串 在Php中,通常一个字符串被定义在一对引号中,如: 'I am a string in single quotes' "I am a string in double q ...

  9. c语输入单引号_必须知道的C语言知识细节:单引号和双引号正确用法

    C语言中ACSII码字符单引号'和双引号"在程序中经常出现,很简单,但却是十分重要的语法标点符号,初学者容易混淆使用. 单引号在字符常量时使用,表示单个字符. 例如: char c; c = ...

最新文章

  1. 递归调用(Java)
  2. 开源、免费、提升办公效率,Win10官方出品
  3. 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...
  4. 概念介绍(机器学习)
  5. linux系统export,Linux入门进阶 - 如何在Linux中使用export命令
  6. 《Java8实战》-第五章读书笔记(使用流Stream-02)
  7. linux systemd命令,systemd命令
  8. mysql二进制日志的开启和使用
  9. 深度学习自学(三十一):基于变分期望最大化深度学习的非盲噪声图像去模糊
  10. ico小图标的下载及使用
  11. ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  12. Sigmod 和 Logit
  13. 如何在Linux上使用快照包
  14. IDEA mybatis XML文件格式化问题
  15. mysql的prepared statement
  16. pycharm环境设置问题
  17. 腾讯2020校园招聘正式批市场研究 | 群面(2019.10.17)
  18. 【附源码】计算机毕业设计java智慧校园系统设计与实现
  19. Unity切图命名参考
  20. Oracle EBS OM Back To Back Orders(背靠背业务)测试

热门文章

  1. JS中window对象的opener属性
  2. 51单片机驱动TCS3200颜色识别传感器
  3. 最详细的cmder配置
  4. 动态口令(OTP)认证技术概览
  5. 【沃顿商学院学习笔记】商业基础——Accounting:05现金流量表相关学习
  6. Android源码剖析之Framwork层消息传递,震撼来袭免费下载!
  7. PyTorch笔记——FX
  8. F-35 战机,肯定用了这些编程语言
  9. Windows Server IIS+ARR反向代理(配置反向代理服务器)
  10. Unity用户手册2019.3(中文版)1.3.2 资源包