zoukankan      html  css  js  c++  java
  • 分析下面的程序: (1)运行时会输出什么信息?为什么?

    分析下面的程序:

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

    (1)运行时会输出什么信息?为什么?

    ​ 答:会输出 :

    分析下面的程序: (1)运行时会输出什么信息?为什么?

    ​ c1=97, c2=98

    ​ 因为第一行十一字符形式输出,所以会吧97和98当作相依字符的ascii值,输出的时候按照字符显示,

    ​ 第二行由于是以整形输出,所以输出对应整数值

    (2)如果将程序第4,5行改为

    c1 = 197;

    c2 = 198;

    运行时会输出什么信息?为什么?

    ​ 答: 会输出:

    分析下面的程序: (1)运行时会输出什么信息?为什么?

    ​ 因为c1和c2为char类型,其保存的数据范围为-128~127,当c1=197,c2=198时,已经超出了char类型所能够保存的数据范围,此时会进行相应的转换为c1=-59,c2=-58,只是第一行以字符输出时,c1=-59,c2=-58为不可显示字符,所以输出了?,而第二行以整数输出时就进行了相应的整数显示。

    (3)如果将程序第3行改为

    int c1, c2;

    运行时会输出什么信息?为什么?

    ​ 答: 会输出

    分析下面的程序: (1)运行时会输出什么信息?为什么?

    ​ 因为c1和c2为int时,第二行以整形输出自然能够保存的下,但第一行以字符输出时,虽然数据int能够储存,但是在输出时需要准换为字符,转换后数据就超出了范围,此时c1=-59,c2=-58,两者都为不可显示字符,所以就显示了?。

  • 相关阅读:
    不能说的话
    为什么书呆子不受欢迎
    Enum
    扩展方法
    若(p,q)=1,则(p^n,q^n)=1
    若a与m互质,则a不影响m的完全剩余组
    模m的剩余类里的一切数与m的最大公约数相等
    若p是与10互质的质数,则p-1个9能被p整除
    class.__subclasses__()
    权利要求书
  • 原文地址:https://www.cnblogs.com/cyuyanchengxu/p/13617744.html
Copyright © 2011-2022 走看看