C++ 中'\0'和空格是同一个东西么

来源:百度知道 编辑:UC知道 时间:2024/06/09 09:55:50
如题…

不是。

'\0'是字符串结束符,每个字符串末尾都有一个隐式的'\0',用来标识该字符串结束。
' ' 这个才是空格,肯定不是同一个东西。

//输出於萤幕是一样的
//但是本质的ascii code 是不一样的
//测试程式如下

#include <iostream>
using namespace std;

int main()
{

char a,b;
a='\0';
b=' ';

cout<<"a: "<<a<<endl<<"b: "<<b<<endl;
//纯输出
cout<<"a: "<<(int)a<<endl<<"b: "<<(int)b<<endl;
//ascii number
return 0;
}

'\0'是字符串结束符,每个字符串末尾都有一个隐式的'\0',用来标识该字符串结束。
' ' 这个才是空格,肯定不是同一个东西。

是空不是空格

不是的,
\0 的ansi 码值是0,空格的ansi码值是 32,两个没什么关系的,不过空格可以输出,\0就是什么都没有,空的意思。。

答案,不是同一个东西。\0 的ansi 码值是0,空格的ansi码值是 32。

确切的说,\0 是 C 语言里面的东西,为了处理 char* 这样的字符串,认为的规定 \0 为字符串的结尾符号。

它们的ASCII码值不一样,根本就是两个字符(它们的编码不一样)
一般的输出函数中,前