`

short i = 1 ; i=i+1;//这个错误 类型不对 为什么i+=1 就对了呢?

 
阅读更多
这是一个类型高级与低级的问题,前面的C是short型的,后面的1为int型的,short型与int
型的相加得到short型是不可取,因为必须将int型转换为short型,short型级别比int型高,
可以short与int型相加存储为int型,但是却不能short与int型相加存储为short型,c=c+1属于
short型与int型相加存储为short型,后者为short型与short型相加存储为short型,或许说得有
点绕,你可以去查int、short、long这几个的优先级,里面就会谈到这个问题
分享到:
评论

相关推荐

    java笔试面试试题附带答案

    **2.3 `int`和`Integer`都可以代表一个整数,为什么JDK设计了这两个类型?** `int`是基本数据类型,不能作为对象使用,不能被封装进集合中。而`Integer`是`int`的包装类,可以作为对象使用,可以被封装进集合中,...

    Latex经典-Ishort-zh-cn

    9. 文档还提到了一个扫描过程中的技术问题,这可能指的是在将纸质文档转为电子文档过程中由于光学字符识别(OCR)技术局限性导致的一些文字识别错误。用户需要理解并校正这些问题,以保证文档内容的流畅性。 以上...

    Test_iget_short.rar_short

    标题中的"Test_iget_short.rar_short"暗示我们关注的是一个与`iget`相关的测试用例,且可能是一个简短或精简版。描述提到它扩展了"DxTestCase",并提供了Linux环境下的源代码。`iget`在Linux文件系统中是一个重要的...

    语言程序设计课后习题答案

    C++是一个更好的C,它保持了C的简洁、高效、接近汇编语言、具有良好的可读性和可移植性等特点,对C的类型系统进行了改革和扩充,因此C++比C更安全,C++的编译系统能检查出更多的类型错误。 C++语言最重要的特点是...

    你必须知道的495个C语言问题

    中,如果不关心a[]的哪一个分量会被写入,这段代码就没有问题,i也的确会增加1,对吗? 3.11 人们总是说i=i++的行为是未定义的。可我刚刚在一个ANSI编译器上尝试过,其结果正如我所期望的。 3.12 我不想学习那些...

    《你必须知道的495个C语言问题》

    中,如果不关心a[]的哪一个分量会被写入,这段代码就没有问题,i也的确会增加1,对吗? 38  3.11 人们总是说i=i++的行为是未定义的。可我刚刚在一个ANSI编译器上尝试过,其结果正如我所期望的。 38  3.12 我不...

    Ishort: The Not So Short Introduction to LATEX

    这个文档版本是5.01,发布日期为2011年4月6日,由Tobias Oetiker、Hubert Partl、Irene Hyna 和 Elisabeth Schlegl 编写。 这份文档是免费的,读者可以在遵守GNU通用公共许可证(GNU General Public License)的...

    C语言基本数据类型及运算题库

    - **结论**: 由于`short`类型的范围是-32768至32767,`65535`超出了这个范围,在大多数平台上,结果将是`-1`。 **23. 逻辑运算** - **题目**: 给定`a=b=c=1`,执行`++a||++b&&++c`后,`b`的值是多少? - **结论**...

    Java语言基础实验报告.doc

    ` 这里,两个操作数分别是一个short类型和一个byte类型,在进行加法运算时都会被提升为int类型,最终结果再转换回short类型。 4. `char c = 'a'; c = (char)(c+1);` 字符类型在进行算术运算时也会被提升为int类型,...

    C语言程序设计标准教程

    这个返回的函数值是具有一定的数据类型的,应在函数定义及函数说明中给以说明,例如在例题中给出的max函数定义中,函数头为: int max(int a,int b);其中“int ”类型说明符即表示该函数的返回值为整型量。又如在...

    必须弄懂的495个C语言问题

    **3.1 为什么这样的代码:a[i]=i++;不能工作?** 表达式`a[i]=i++;`的问题在于`i`的值在赋值后才递增。因此,`a[i]`和`i`都被更新,但`i`的值在赋值之前就已经确定。这种情况下,每次循环迭代都会覆盖前一次的结果,...

    java 面试宝典

    `,这会导致编译错误,因为 `s1 + 1` 的结果是一个 `int` 类型,不能自动转换为 `short`。 - `short s1 = 1; s1 += 1;` 这种写法是正确的,因为 `+=` 运算符会在赋值之前自动处理类型转换问题。 **7. char 型变量...

    CRC校验代码

    CRC(Cyclic Redundancy Check,循环冗余校验)是一种常用的数据校验方法,用于检测数据传输或存储过程中的错误。CRC 校验代码是使用 C 语言编写的,可以直接运行,并附有运行截图以供参考和学习。 CRC 校验原理 ...

Global site tag (gtag.js) - Google Analytics