社区
C语言
帖子详情
编译器会自动给字符串加一个终结符'\0'吗?
ymaom
2004-08-10 08:07:15
能否这样说,如不能,为什么?应该怎样说才对。
别处,在C/C++,里能否将字符串和终结符'\0',显示出来?
谢谢!
...全文
260
6
打赏
收藏
编译器会自动给字符串加一个终结符'\0'吗?
能否这样说,如不能,为什么?应该怎样说才对。 别处,在C/C++,里能否将字符串和终结符'\0',显示出来? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
backspray
2004-08-11
打赏
举报
回复
因为'\0'要是内存中的值是0000 0030n的话,那么用char a='\0';printf("%d",a);将显示0的10进制数值。因该是48,但是要执行这个语句的话,,结果是0。
所以证明了上面的我的想法
backspray
2004-08-11
打赏
举报
回复
能否这样说,如不能,为什么?应该怎样说才对。
别处,在C/C++,里能否将字符串和终结符'\0',显示出来?
谢谢!
----------------------------------------
用双引号才会加零才会加'÷0'
显示不出来,《终结符'\0'是显示不出的,是ascii值为0的那个字符》?。
知道是为什么吗?
我想可能是这样。
因为'\0'是表示是空值,,
在内存中,空值是什么,设空就是0000 0000h啦,但是这不是说值是字符’0‘
因为字符’0‘的再内存中的代码应该是0000 0030h,这里再屏幕上显出字符’0‘
时代表内存中的值是0000 0000,是空值,而不是代表内存中的值是0000 0030!
sunjx119
2004-08-10
打赏
举报
回复
用“”的编译器自动加‘\0’
用数组自己凑的要自己加
021850524
2004-08-10
打赏
举报
回复
只有用""括起来的字符串是由编译器在编译期间自动加的'\0'(ascii值为0).
RookieStar
2004-08-10
打赏
举报
回复
只能说那些用""括起来的常量字符串是由编译器自动加的这个'\0':
char str[]="123";
// str[0]=='1' str[1]=='2' str[2]=='3' str[3]=='\0'
终结符'\0'是显示不出的,是ascii值为0的那个字符。
Dong
2004-08-10
打赏
举报
回复
编译器会自动给字符串加一个终结符'\0'吗?
能否这样说,如不能,为什么?应该怎样说才对。
------------------------------------------------
每个字符串都有的。包括数组。但字符没有
别处,在C/C++,里能否将字符串和终结符'\0',显示出来?
你平时显示不处理是因为编译器对char*指针做了一些特殊的处理所以不可以显示,但你转换一下输出类型就可以看到了。
char ch='\0';
printf("%d\n",ch);
jslr1:javascript,
一个
简单
编译器
的实现
在线测试地址 jslr #####javascript实现的LR(1)分析表构建 通过文法的输入(只能的格式:).用LR(1)算法构建分析表 文法目前只能支持单独的字母,后期
会
加
入映射转换的功能如(if->con | I->C); 你不需要在刚输入的时候就使用拓广文法,后期程序
会
自动
添
加
最好按照给定的格式,第一行是非
终结符
集合,第二行是
终结符
集合 给analysis_alo()函数传入
一个
string的参数(必须以'#')结尾.该函数能分析出 此
字符串
是否能通过该文法分析,返回状态'acc'或则出错. 函数式编程过程...没想好如何用面向对象来体现. VERSION 1.0 example ######example 1 V={S,E,T} T={i,-,(,)} S->E E->T E->E-T T->i T->(E) 测试串:i-(i)-i# ######example 2 代码语法
C#中
字符串
的终止符是什么?
需要注意的是,当我们使用
字符串
字面量(用双引号括起来的
字符串
)时,C#
编译器
会
自动
在
字符串
的末尾添
加
一个
null字符,以表示
字符串
的结束。这意味着我们通常不需要在
字符串
中显式地添
加
null字符,除非我们打算在
字符串
中包含其他特殊字符。当C#
编译器
遇到
字符串
中的null字符时,它将认为
字符串
已经结束,并停止进一步处理。但是,
字符串
作为
一个
序列的字符,那么我们如何确定
字符串
的结束呢?在本文中,我们将探讨C#中
字符串
的终止符。如果你对
字符串
的处理和操作有更多的疑问,可以继续深入学习C#
字符串
的相关知识。
《计算机体系结构》软件篇2 之
编译器
1 课程知识结构2 世界上第
一个
编译器
怎么来的3 第
一个
汇编编辑器怎么来的4 高级语言与高级语言
编译器
15 高级语言 与高级语言
编译器
26 高级语言与人类语言的关系 17 计算机语言与人类语言对比 28 举例理解词法、语法、语义分析9 词法、语法、语义错误例子10 C语言
编译器
与 预处理11 “链接“是什么12 C语言可执行文件的格式13 如何选择一款
编译器
java中的
字符串
String没有结尾符'\0'
java中的
字符串
String没有像C语言的结尾符’\0’ 其实这个问题没有什么好说的,Java里面一切都是对象,是对象的话,
字符串
肯定就有长度,即然有长度,
编译器
就可以确定要输出的字符个数,当然也就没有必要去浪费那1字节的空间用以标明
字符串
的结束了。 学过C/C++的人都有一种固定的思维模式,凡是
字符串
都是以\0结束,其实C++中未必,不信你查查string这个泛型类,为了与C语言兼容性,它里面...
关于C语言的指针
ANSI C声明如果对
一个
字符串
常量进行修改,其效果是未定义的。它也允许
编译器
把
一个
字符串
常量存储于
一个
地方,即使它在程序中多次出现。这就使得修改
字符串
常量变得危险,因为对
一个
常量进行修改可能涉及程序中其他
字符串
常量。K&R C并没有提及
一个
字符串
常量中的字符是否可以被程序修改,但它表明具有相同的值的不同
字符串
常量在内存中是分开存储的。因此,许多ANSI
编译器
不允许修改
字符串
常量,或者提供编译时选项,让你自行选择是否修改
字符串
常量。
字符串
常量的直接值是
一个
指针,而不是这些字符本身。
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章