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=?,C

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 00:11:46
char c1,c2; c1=197; c2=198; printf(

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=?,C
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,

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=?,C
第一,ascii字符集只有0~127有定义,剩下的都是未定义的
第二,一般编译器对char是当成signed char 处理的,所以范围是-128~127,197,198显然溢出,又由于你是按有符号整型输出
197,198二进制表示最高位为1,高位扩展,所以为负数