对short类型,输出结果不一样?
生活随笔
收集整理的這篇文章主要介紹了
对short类型,输出结果不一样?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
#include<stdio.h>
#include<iostream>
using namespace std;int main()
{short x,y;x=-32654; y=-1234;short z=x+y;cout<<z<<endl;
//cout << (short)x+y<<endl;
return 0 ;
}
至今不明白為什么,,有沒有哪位大佬講一下啊?
華麗的分割線
2018.9.12
? ? 解答:現(xiàn)在一看,這么解釋?之所以注釋掉的那個cout是正確的結果,是因為x強轉成short但是x+y是用int相加的。所以答案是int型的所以不會溢出。如果改成cout << (short)(x+y) << endl;? ?輸出的答案也是溢出的。
? ?但是問題來了,為什么會用整型做運算呢?cout自帶?
?
總結
以上是生活随笔為你收集整理的对short类型,输出结果不一样?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: app android de,An
- 下一篇: Centos7换yum源