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 展开
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 展开
2个回答
展开全部
char类型的c1,c2,你却用int型的数字给它赋值
更多追问追答
追问
可以具体点么?还有为什么第一次输出是?
追答
对char类型赋整数是可以的,但是一般不这样做。char类型会把整数当成是ASCII码,比如字符‘A'的ASCII码是65,那么如果令c1=65就相当于令c1=’A‘。但是ASCII码的范围是0~127,你给的整数值超过127了,所以把c1,c2当成字符来输出,就是'?’,因为找不到对应的字符。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询