首页
社区
课程
招聘
[求助]unix & win7 x64 %c 输出 'a'
发表于: 2013-10-16 17:58 9134

[求助]unix & win7 x64 %c 输出 'a'

2013-10-16 17:58
9134
ex:

printf("%c\r\n", 0);

printf("%c\r\n", '\0');

char cTest = 0;
printf("%c\r\n", cTest);

输出结果:
a
a
a

unix & win7 x64 下

%c 输出 'a'

不知道谁知道这是啥情况?  
或者谁有遇到过类似的问题?  


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 80
活跃值: (109)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
正常。
xp下不知是0还是1是一个笑脸
2013-10-16 18:27
0
雪    币: 357
活跃值: (3123)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
3
void main()
{
   printf("[%c]\r\n", 0);
}

D:\test\Release>test
[ ]
2013-10-16 18:28
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
老钱又要鄙视你了...
2013-10-16 18:33
0
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
话说我这没问题,输出空白,Win7 x86
2013-10-16 18:50
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
6
我win732也没有问题的.
只有win764 和 unix 才会出现这情况.
2013-10-16 19:32
0
雪    币: 209
活跃值: (138)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
win7 x64 vs2010sp1 x86和x64平台下的Debug和Release版本都没有出问题
2013-10-16 20:56
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
8
那就奇怪了.
难道是我系统有问题?
但是网上一搜,也有遇到和我一样的情况的童鞋.~

http://bbs.chinaunix.net/thread-3771894-1-1.html
2013-10-16 21:00
0
雪    币: 70
活跃值: (88)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
9
64位Win7没有问题。。。

除非你把%c改成%s,并且不传尾部的0,%s会在栈或自己申请的内存地址开始输出所有字符,一直到0截止。。跟你的输出较像。
上传的附件:
2013-10-17 00:26
0
雪    币: 70
活跃值: (88)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
10
小红帽Linux下,没问题。。。
上传的附件:
2013-10-17 00:35
0
雪    币: 209
活跃值: (138)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
这种问题进反汇编瞧瞧吧,应该能查到根本原因。期待结果
2013-10-17 08:43
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
12
一开始就看过的,仍然没有找到原因.

上传的附件:
2013-10-17 10:52
0
雪    币: 209
活跃值: (138)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
可能是你的本太高档了

不过你可以调整工程配置为静态链接多线程调试库,然后f11进printf里面去逐行调试,应该能发现问题
2013-10-17 11:35
0
雪    币: 1760
活跃值: (1616)
能力值: ( LV12,RANK:222 )
在线值:
发帖
回帖
粉丝
14
非要把非打印字符打印出来。何必呢。
2013-10-17 19:23
0
游客
登录 | 注册 方可回帖
返回
//