空字符和空格字符以%c输出时,为什么结果一样?

sanzou518 2008-10-21 08:28:21
请高手给与指点:空字符和空格字符以%c输出时,为什么结果一样?
...全文
243 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
jolly_ye 2008-10-21
  • 打赏
  • 举报
回复
空字符,空格在屏幕上都是没显示什么啊,但是空字符的长度为0,而空格长度为1.空格就是一个特殊的字符.
shiyi820509 2008-10-21
  • 打赏
  • 举报
回复
两个不同的字符 输出不同有问题吗
iunion 2008-10-21
  • 打赏
  • 举报
回复
打错个字
你的编译器应该对''空字符了转换
iunion 2008-10-21
  • 打赏
  • 举报
回复
这种问题就是编译器设置问题,lz你用的什么编译器?
你的编译器应该对''空字符错了转换
pingzi_1119 2008-10-21
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 hqin6 的回复:]
lz,你用的编译器应该对''进行了优化处理,在vc6.0是编译不过去的~直接:


C/C++ codeerror C2137: empty character constant
[/Quote]
偶的好像也这样。。。
xhs_lh04 2008-10-21
  • 打赏
  • 举报
回复

printf("backspace is %d, %c\n",' ',' ');
char c=0;
printf("NULL is %d, %c\n",c,c);
canican 2008-10-21
  • 打赏
  • 举报
回复
'\0'或 0和空格也是一样的
ChamPagneZ 2008-10-21
  • 打赏
  • 举报
回复

//同意14楼,高度怀疑楼主用了eclipse + cdt + mingw .......
Fighting Horse 2008-10-21
  • 打赏
  • 举报
回复
能这样写吗,''表示什么字符?恐怕编译都不通过吧。
太乙 2008-10-21
  • 打赏
  • 举报
回复
lz,你用的编译器应该对''进行了优化处理,在vc6.0是编译不过去的~直接:

error C2137: empty character constant
sanzou518 2008-10-21
  • 打赏
  • 举报
回复
12楼的是什么意思??
once_and_again 2008-10-21
  • 打赏
  • 举报
回复
.... format %d , char);
sanzou518 2008-10-21
  • 打赏
  • 举报
回复
第一个是空字符,第二个是空格字符
kkndciapp 2008-10-21
  • 打赏
  • 举报
回复
楼主输入的时候是空格和tab吗??
Longinc 2008-10-21
  • 打赏
  • 举报
回复
肉眼应该分别不了的
sanzou518 2008-10-21
  • 打赏
  • 举报
回复
源码是这样:printf("---%c---\n---%c---\n",'',' ');
输出结果是这样:--- ---
--- ---
sanzou518 2008-10-21
  • 打赏
  • 举报
回复
是看到的输出结果
太乙 2008-10-21
  • 打赏
  • 举报
回复
一个是空格,一个是tab!
太乙 2008-10-21
  • 打赏
  • 举报
回复
lz,看看



#include <iostream>
using namespace std;
void main()
{
char i = ' ';
char ii = ' ';
cout<<"i='"<<i<<"'"<<endl<<"ii='"<<ii<<"'"<<endl;
}


----------------------------------

i=' '
ii=' '
Press any key to continue

lovemeHH 2008-10-21
  • 打赏
  • 举报
回复
应该是转换了,把 NULL 转换成了 char 类型,也就是把 0 转换成了 char 类型
加载更多回复(3)

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧