C语言char c1,c2;c1=197;c2=198;printf("%printf("%c,%c",c1,c2);printf("%d,%d",c1,c2);

#include<stdio.h>intmain(){charc1,c2;c1=197;c2=198;printf("%c,%c",c1,c2);printf("%d,%... #include<stdio.h>
int main()
{
char c1,c2;
c1=197;
c2=198;
printf("%c,%c",c1,c2);
printf("%d,%d",c1,c2);
return 0;
}
为什么输出
c1=?,c2=?
c1=-59,c2=-58
展开
 我来答
水上漂汤
2014-10-03 · TA获得超过1万个赞
知道大有可为答主
回答量:1830
采纳率:71%
帮助的人:1439万
展开全部
char类型的c1,c2,你却用int型的数字给它赋值
更多追问追答
追问
可以具体点么?还有为什么第一次输出是?
追答
对char类型赋整数是可以的,但是一般不这样做。char类型会把整数当成是ASCII码,比如字符‘A'的ASCII码是65,那么如果令c1=65就相当于令c1=’A‘。但是ASCII码的范围是0~127,你给的整数值超过127了,所以把c1,c2当成字符来输出,就是'?’,因为找不到对应的字符。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6b53066
2014-10-03 · 超过16用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:19.2万
展开全部
可以给字符型数据赋整形数值,但是ASCII 码最多到127。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式