char c1,c2; c1=197; c2=198; printf("c1=%c,c2=%c\n",c1,c2); p
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/14 08:12:27
char c1,c2; c1=197; c2=198; printf("c1=%c,c2=%c\n",c1,c2); printf("c1=%d,c2=%d\n",c1,c2); return 0;
#include
int main()
{
char c1,c2;
c1=197;
c2=198;
printf("c1=%c,c2=%c\n",c1,c2);
printf("c1=%d,c2=%d\n",c1,c2);
return 0;
}
运行后为什么是C1=?,C2=?
C1=-59,C2=-58,
#include
int main()
{
char c1,c2;
c1=197;
c2=198;
printf("c1=%c,c2=%c\n",c1,c2);
printf("c1=%d,c2=%d\n",c1,c2);
return 0;
}
运行后为什么是C1=?,C2=?
C1=-59,C2=-58,
char类型的范围是 -128-127
unsigned char类型的范围是 0-255
你定义的超出范围了,溢出了.
再问: 嗯 然后又怎么会是 C1=?,C2=? C1=-59,C2=-58
再答: 没有对应的字符,或对应的字符不可打印就显示??这个了。 197转换成二进制是 11000101 截取后八位也就是 1000101 最前面的1表述负数,负数都是用补码表示的,转换成反码为1000100 转换成原码为 0111011 也就是 59,所以显示为 -59了。
再问: 截取后八位也就是 1000101? 这不是7位吗?
再答: 11000101 截取后八位也就是 1000101 这里有点错误,截取后八位也就是 11000101,写错了,最前面的一位是符号位,所以后面的转换中,不需要考虑其符号位。
unsigned char类型的范围是 0-255
你定义的超出范围了,溢出了.
再问: 嗯 然后又怎么会是 C1=?,C2=? C1=-59,C2=-58
再答: 没有对应的字符,或对应的字符不可打印就显示??这个了。 197转换成二进制是 11000101 截取后八位也就是 1000101 最前面的1表述负数,负数都是用补码表示的,转换成反码为1000100 转换成原码为 0111011 也就是 59,所以显示为 -59了。
再问: 截取后八位也就是 1000101? 这不是7位吗?
再答: 11000101 截取后八位也就是 1000101 这里有点错误,截取后八位也就是 11000101,写错了,最前面的一位是符号位,所以后面的转换中,不需要考虑其符号位。
char c1,c2; c1=197; c2=198; printf("c1=%c,c2=%c\n",c1,c2); p
main() { char c1,c2 scanf("%c",&c1):c2=c1-32; prantf("%c",c2
下面程序段的输出是( ) char c1=’b’,c2=’e’; printf(“%d,%c\n”,c2-c1,c2+’
char c1='b',c2='e';printf("%d,%c\n",c1-c2,c2-'a'+'A');则输出结果是
有以下程序 #include main() { char c1,c2; scanf("%c",&c1); c2=c1+3
定义:char c1,c2; scanf(“%2c%3c”,&c1,&c2);printf(“%c%c”,c1,c2);
c语言 字母地址若有以下定义和语句char c1='b',c2='e'printf("%d,%c\n",c2-c1,c2
main() {char c1='F',c2='P'; printf("%d,%d\n",c1,c2); } 解出来是多
C语言大小写字母转换#includevoid main(){char c1,c2;c1=getchar();printf
C语言中main() {char c1='6',c2='0'; printf(''%c,%c,%d,%d\n'',c1,
若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c",c2-c1,c2-'a'+'A
设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是 A) c1^c2 B) c1&c2 C) c