黑马程序员技术交流社区

标题: 求教:为何‘0’以字符输出显示会是a? [打印本页]

作者: Dast    时间: 2015-5-31 02:46
标题: 求教:为何‘0’以字符输出显示会是a?
本帖最后由 Dast 于 2015-6-2 23:44 编辑

#include"stdio.h"
int main()
{
        char b;
        b='\0';
        printf("%c\n",b);
        return 0;
}
结果:


作者: fixer    时间: 2015-5-31 11:32
一定是你打开的方式不对...
作者: x331275955    时间: 2015-5-31 11:39
这个输出 应该是个空白的,然后换行,结束.        你这个界面,你用的是windows吧,你好好看看你是不是哪弄错了,跟a一点关系都没有啊.
作者: 恩赐_RWQqZ    时间: 2015-5-31 12:19
我也想知道答案
作者: 任伟    时间: 2015-5-31 13:26
是你打开方式的问题
作者: 13673696542    时间: 2015-5-31 13:45
你换个环境试试,你这问题还真没遇见过。
作者: yi95392    时间: 2015-5-31 13:46
Xcode输出这么个鬼东西

Snip20150531_1.png (15.39 KB, 下载次数: 76)

Xcode输出这么个鬼东西

Xcode输出这么个鬼东西

作者: 小龙女的萝卜    时间: 2015-5-31 17:42
你的字符不是‘0’,而是'\0',再说你确定他会输出a?
作者: L-eeman    时间: 2015-5-31 18:45
\0是什么鬼
作者: doushu    时间: 2015-5-31 21:05
顶顶顶顶
作者: zhangyq    时间: 2015-5-31 22:07
0对应的就是a
作者: 这是829    时间: 2015-5-31 23:56
围观  学习啦!
作者: Dast    时间: 2015-6-1 02:28
zhangyq 发表于 2015-5-31 22:07
0对应的就是a

'\0’对应的应该像2l说的那样,是ASCII码的空格才对吧?我是32位机,用的win7下的c-free,又运行一遍还是a。话说a对应的不是ASCII码里的97吗?
作者: Elors    时间: 2015-6-1 09:38
'\0'是字符串的结束符,如果真是打印这个的话,应该是什么都没有才对。
作者: 飞翔的猪    时间: 2015-6-1 10:06
编译器的问题,用gcc和cc神马的绝对不会是这个
作者: aofex    时间: 2015-6-1 18:32
你%d,出来的是多少呢?
作者: Dast    时间: 2015-6-1 21:06
aofex 发表于 2015-6-1 18:32
你%d,出来的是多少呢?

%d,出来的是0
作者: Dast    时间: 2015-6-1 21:07
飞翔的猪 发表于 2015-6-1 10:06
编译器的问题,用gcc和cc神马的绝对不会是这个

应该是我编译器的问题。
作者: Dast    时间: 2015-6-1 21:08
小龙女的萝卜 发表于 2015-5-31 17:42
你的字符不是‘0’,而是'\0',再说你确定他会输出a?

是的,32位win7下c-free就是这个结果。
作者: 曹文博    时间: 2015-6-8 00:02
你是不是多大了一个\
作者: Dast    时间: 2015-6-9 13:16
曹文博 发表于 2015-6-8 00:02
你是不是多大了一个\

没,我故意加上去的
作者: cui0wei0    时间: 2015-6-9 15:14
应该是跟windows的换行标志有关系。我Xcode就是打出个空




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2