将程序的5,6行改动后,为什么会出现如图所示的结果?

#include <stdio.h>
int main()
{
    char c1,c2;
    c1=97;
    c2=98;
    printf("c1=%c,c2=%c\n",c1,c2);
    printf("c1=%d,c2=%d\n",c1,c2);
    return 0;
}

将第5,6行改为:

c1=197;
c2=198;

为什么会出现如下结果?

http://img.mukewang.com/5818812c0001ef4402150059.jpg

Rebellious_2016
浏览 1303回答 3
3回答

藏天慕道

char* 是指针型数据,是指向 char  类型数据的指针。short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。

一叶追寻

第一行输出是因为ASCII值的范围是0到127,取值超出范围了没有对应的值;就只能够输出问号了第二行是因为你定义的c1和c2是char类型,转换成整型时出错,把第四行改成 int c1,c2;

一毛钱

超过了ANSI值,ANSI好像最大的是127 超过以后不被识别
打开App,查看更多内容
随时随地看视频慕课网APP