C语言‘\0’和0和‘0’
‘\0’和‘0’共同点:都是字符 不同点:'\0'对应的ASCII码是0,是ASCII码表中的第一个字符,即空字符;判断一个字符串是否结束的标志就是看是否遇到‘\0’。 ‘0’对应的ASCII码是48,48对应的十六进制数就是0x30。 |
“0”和‘0’“0”是字符串常量,字符串常量是由一对双引号括起的字符序列。字符串常量可以含一个或多个字符。 ‘0’是字符常量,字符常量由单引号括起来。字符常量只能是单个字符。 |
关于“以0结束”的问题: char s[4] = {‘A’, ‘B’, ‘C’, ‘0’}; 是字符数组,不是字符串 char s[5] = {‘A’, ‘B’, ‘C’, ‘0’, 0}; 既是字符数组,也是字符串 char s[5] = {‘A’, ‘B’, ‘C’, ‘0’}; 既是字符数组,也是字符串 char s[5] = ”ABC0”; <=> char s[5] = {‘A’, ‘B’, ‘C’, ‘0’}; <=> char s[5] = {‘A’, ‘B’, ‘C’, ‘0’, 0};
ASCII码 十六进制 字符 48 0x30 数字字符‘0’ |
#include<stdio.h>
#include<string.h>void printByInt(char c[], int count){int i;//printf("%d\n", sizeof(c));for(i = 0; i < count; i++){printf("%d ", c[i]);}printf("\n");
}void printByChar(char c[], int count){int i;for(i = 0; i < count; i++){printf("%c ", c[i]);}printf("\n");
}
void main(void){char c1[4] = {'A', 'B', 'C', '0'};char c2[5] = {'A', 'B', 'C', '0', 0};char c3[5] = {'A', 'B', 'C', '0', '\0'};char c4[5] = {'A', 'B', 'C', '0'};char c5[5] = "ABC0"; printf("output by int: \n");printByInt(c1, sizeof(c1));printByInt(c2, sizeof(c2));printByInt(c3, sizeof(c3));printByInt(c4, sizeof(c4));printByInt(c5, sizeof(c5));printf("\n");printf("output by char:\n");printByChar(c1, sizeof(c1));printByChar(c2, sizeof(c2));printByChar(c3, sizeof(c3));printByChar(c4, sizeof(c4));printByChar(c5, sizeof(c5));
}
C语言‘\0’和0和‘0’相关推荐
- C# 语言规范_版本5.0 (第10章 类)
1. 类 类是一种数据结构,它可以包含数据成员(常量和字段).函数成员(方法.属性.事件.索引器.运算符.实例构造函数.静态构造函数和析构函数)以及嵌套类型.类类型支持继承,继承是一种机制,它使派生类 ...
- mysql 线程池源码模块_易语言Mysql线程池2.0模块源码
易语言Mysql线程池2.0模块源码 易语言Mysql线程池2.0模块源码 系统结构:GetThis,初始化,关闭类线程,线程_测试,其他_附加文本,连接池初始化,取mysql句柄,释放mysql句柄 ...
- c语言stdio中null的值,C/C++编程笔记:C语言NULL值和数字 0 值区别及NULL详解
原创 程序员无言 2020-07-01 在学习C语言的时候,我们常常会碰到C语言NULL值和数字 0 ,很多小伙伴搞不清楚他们之间的一个区别,今天我们就了解一下他们之间的区别,一起来看看吧! 先看下面 ...
- C语言变长数组data[0]【总结】
C语言变长数组data[0][总结] 1.前言 今天在看代码中遇到一个结构中包含char data[0],第一次见到时感觉很奇怪,数组的长度怎么可以为零呢?于是上网搜索一下这样的用法的目的,发现在li ...
- C语言试题三之计算并输出 s=1+(1+2^(0.5))+(1+2^(0.5)+3^(0.5))+…+(1+2^(0.5)+3^(0.5)+…+n^(0.5))
1 .题目 请编写函数function,它的功能是:计算并输出 s=1+(1+2^(0.5))+(1+2^(0.5)+3^(0.5))+-+(1+2^(0.5)+3^(0.5)+-+n^(0.5)) ...
- Android8.0 学习 (17)Android国际化(多语言)实现,支持8.0
Android国际化(多语言)实现,支持8.0 前言 最近因为项目中使用了国际化,所以正好研究了下实现方法: 首先说下项目需求: 可以随着系统切换语言而切换语言,不支持的语言显示默认 用户可以选择语言 ...
- VC6.0(VC++6.0)使用教程(使用VC6.0编写C语言程序)
VC6.0(VC++6.0)使用教程(使用VC6.0编写C语言程序) Visual C++ 6.0简称VC或者VC6.0,是微软1998年推出的一款C/C++ IDE,界面友好,调试功能强大.VC6. ...
- C语言求ax2+bx+c=0的解,解一元二次方程
看了好多别人的代码真无语了,要么就是考虑不全,要么就是报错,写之前能不能考虑一下,多带几组数据跑一下呀!!! 总结:C语言比python麻烦太多了 #include <stdio.h> # ...
- c语言电话簿管理系统的,C语言 电话簿管理系统VC++6.0运行通过
<C语言 电话簿管理系统VC++6.0运行通过>由会员分享,可在线阅读,更多相关<C语言 电话簿管理系统VC++6.0运行通过(16页珍藏版)>请在人人文库网上搜索. 1.*电 ...
- 梯形图调用c语言编写程序,简单使用C语言写梯形图精简V2.0.pdf
简单使用C语言写梯形图精简V2.0 C语言实现梯形图写法 1: AND 2: LDI 3: ANDB 4: ANDP 5: ORB 6: C1 7: T0 8: MPS1 9: LDF 10-1: M ...
最新文章
- iScroll.js 用法参考 (share)
- 解决 OCFS2 不能自动挂载 提示 o2net_connect_expired
- MySQL知识点复习
- 方舟子:如何避免学术不端行为(zz)
- FATAL ERROR in native method: JDWP No Transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_IN,ec
- 《集体智慧编程》第九章
- STM32F103ZE单片机在WWDG窗口看门狗的EWI中断中喂狗导致系统复位的原因及解决办法(中断函数重入问题)
- javaee 第五周作业
- OAF_VO系列3 - Binding Style绑定方式
- python文件怎么打开_py文件怎么打开?
- CSS实现单行、多行文本溢出显示省略号(…)
- Eclipse反编译插件 Enhanced Class Decompiler
- 传输层安全协议TLS/SSL
- 1427: 数字转换
- Android技术点滴记录
- hdu 1429	胜利大逃亡(续)
- 超详细,如何不用任何第三方软件实现电脑与手机文件传输
- 16位调色板和32位调色板_设计系统的调色板第一部分
- 北航c语言程序设计大一期末题库,北航2016C语言|程序设计题七
- 7PTA7-6 结伴同行去秋游