C语言中,出现'\0'的地方,我都用0来代替.

发布网友 发布时间:2024-12-20 17:38

我来回答

4个回答

热心网友 时间:2024-12-20 20:17

就代码而讲,一般编译器不会报错。
事实上,'\0'的类型是char型,而0是int型,两者类型不同。
之所以能通过是因为存在有隐式类型转换,即
char i=0;
实际上编译器看作是
char i=(char)0;
假设不允许这种隐式转换,那么代码第一句代码就会出错。

个人认为,将'\0'写成0将可能对阅读代码的人误导,害处不浅!强烈不建议!

热心网友 时间:2024-12-20 20:16

字符型常量所表示的值是字符型变量所能包含的值。我们可以用ASCII表达式来表示一个字符型常量,或者用单引号内加反斜杠表示转义字符。
'A', '\x2f', '\013';
其中:\x表示后面的字符是十六进制数,\0表示后面的字符是八进制数。
注意:在Turbo C 2.0中,字符型常量表示数的范围是-128到127,除非你把它声明为unsigned,这样就是0到255。

字符串常量就是一串字符,用双引号括起来表示。
Hello,World!
\nEnter selection:
\aError!!!
上面我们见到的\x,\n,\a等等都是叫转义字符,它告诉编译器需要用特殊的方式进行处理。下面给出所有的转义字符和所对应的意义:
转义字符 描述
\' 单引号
\ 双引号
\\ 反斜杠
\0 空字符
\0nnn 八进制数
\a 声音符
\b 退格符
\f 换页符
\n 换行符
\r 回车符
\t 水平制表符
\v 垂直制表符
\x 十六进制符

输出时'\0'输出的是空格 不知你怎么得出'\0'值等于0的

热心网友 时间:2024-12-20 20:17

'\0'它是一个字符类型的值,0是一个整型值,空字符的阿斯科马值是0,所以用的时候它会根据需要进行类型转换,理论上都可以的。但是改用什么的时候还是最好用什么。
一家之言仅供参考!

热心网友 时间:2024-12-20 20:17

这个你要注意,如果\0是作为单个字符来用的话可以用0值代替,但是如果是在字符串里出现\0就不能简单就用0代替了,例如"abc\0"这边你就不能用"abc0"代替,字符串里的0是和整数0不一样的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com