标题:刚学c语言,遇到问题求解
只看楼主
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
结帖率:100%
已结贴  问题点数:20 回复次数:15 
刚学c语言,遇到问题求解
程序代码:
#include<stdio.h>
int main()
{unsigned char c=255;
printf("%d %c \n",c,c);
return 0;
}

为什么我c在128-255之间取值%c的输出只有128是对的,其他都是个“?”?
搜索更多相关主题的帖子: c语言 return 取值 输出 其他 
2017-09-09 10:35
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
得分:0 
unsigned char 我实验了0-128,全部输出对应ASCII。之后的全是问号,有人知道为什么吗?求教!
2017-09-09 11:02
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
ASCII分基础ASCII码(7bit,0~127)和扩展ASCII码(8bit,128~255)
有些是不可打印字符、控制符或图符,在不同的平台上有不同的表现。
2017-09-09 11:21
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
得分:0 
回复 3楼 吹水佬
这我知道,可是我只有128成功了,其他都没成功,我试了几十个128之后的一个没成。
2017-09-09 12:43
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 
以下是引用pydlq在2017-9-9 12:43:19的发言:

这我知道,可是我只有128成功了,其他都没成功,我试了几十个128之后的一个没成。

你是怎理解“不可打印”的?
2017-09-09 14:06
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
得分:0 
回复 5楼 吹水佬
我的意思是,我这不是“有些”,而是只有128可以。我是新人,不知道是不是自己写的有问题,所以特来学习求教。
2017-09-09 15:23
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用pydlq在2017-9-9 15:23:00的发言:

我的意思是,我这不是“有些”,而是只有128可以。我是新人,不知道是不是自己写的有问题,所以特来学习求教。

你又是怎样理解“在不同的平台上有不同的表现”?
你的运行环境是什么?
2017-09-09 15:56
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
得分:0 
我是用vs2010的,不晓得是我vs装错了 还是我写错了
2017-09-09 16:02
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
得分:0 
回复 7楼 吹水佬
我是用vs2010的,不晓得是我vs装错了 还是我写错了
2017-09-09 16:02
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用pydlq在2017-9-9 16:02:24的发言:

我是用vs2010的,不晓得是我vs装错了 还是我写错了

如果是使用汉字字符集的运行环境,扩展ASCII码也会被用作汉字编码(双字节编码)。
所以中文环境显示一个扩展ASCII码是无意义的,一个汉字编码要用二个扩展ASCII码。
如“啊”字:

#include<stdio.h>
int main()
{
    unsigned char a=176,b=161;
    printf("%c%c\n",a,b);
    return 0;
}

2017-09-09 16:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-480572-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.175156 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved