c语言单引号的用法
英文屋
人气:3.07W
C语言中用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。而一般我们的编译器采用的都是ASCII字符集。因此's'的含义其实和十进制数115的含义是一致的。下面小编就给大家介绍下c语言单引号的用法。 单引号和双引号在C中的意义完全不同,包围在单引号中的一个字符只是编写整数的另一种方法。这个整数是给定的字符在实现的对照序列中的一个对应的值,即ASCII码值。因此在一个ASCII实现中,‘a’和0141或97表示完全相同的东西,而一个包围在双引号中的字符串,只是编写一个有双引号之间的字符和一个附加的二进制为零的字符所初始化的一个无名数组的指针的一种简短方法。 使用一个指针来代替一个整数通常会得到一个警告消息(反之亦然),使用双引号来代替单引号也会得到一个警告消息(反之亦然)。但通常对不检查参数类型的编译器却除外。因此用printf('n');来代替printf("n");通常在运行时得到奇怪的结果。因为'n'代表一个整数,它被转换为了一个指针,这个指针所指向的内容是没有意义的。 由于一个整数通常足够大,以至于可以放下多个字符,一些C编译器允许在一个字符常量中存放多个字符,这意味着用'yes'来代替'"yes"将不会被发现,后者意味着“包含yes和一个空字符的四个连续存储区域中的第一个的地址”,而前者意味着“在一些实现定义的样式中表示由yes联合构成的一个整数”。这两者之间的任何一致性都是巧合。 简单理解,单引号实际是整数的另外的一种表达方式,该整数是单引号里字符的ASCII码;而双引号里是真正的字符,表示由头指针指向的一片连续区域存储的字符。
今日热门
更多推荐
- 1英语四级阅读部分怎么练习
- 2accrual wage是什么意思、英文翻译及中文解释
- 3商务英语口语每天三句半 商业实务 第202期:下订单
- 4biological radiation tolerance是什么意思、英文翻译及中文解释
- 5hike的过去式是什么
- 6高考英语写作答卷与评析
- 7早晨喝橙汁好还是牛奶好
- 8寒假计划的英语作文有翻译
- 9丁二烯橡胶是什么意思、英文翻译及中文解释
- 10爱好用英语怎么说爱好的英文单词
- 11大学英语四六级该如何备考?看看3位英语学霸分享的秘笈
- 12board wages是什么意思、英文翻译及中文解释
- 13英语会话王:会话急救包 第66期
- 14alkali reclaim是什么意思、英文翻译及中文解释大纲
- 15戈贝尔表示,因为新冠病毒,自己失去了味觉和嗅觉