亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

強制轉換也是不行的!

示例代碼是:

#include <stdio.h>



int main(int argc,char **argv)

{

? ? int a = 100 ;

? ? short b = (short)a ;

? ? printf("%d\n",b);

? ? return 0;

}

以上本身在short數據類型就沒有溢出,而當a 賦值本身就很大時一樣會報錯。

如:

#include <stdio.h>



int main(int argc,char **argv)

{

? ? int a = 10000000000000 ;

? ? short b = (short)a ;

? ? printf("%d\n",b);

? ? return 0;

}

運行結果

index.cpp: In function 'int main(int, char**)':

index.cpp:6:13: warning: overflow in implicit constant conversion [-Woverflow]

? ? ?int a = 10000000000000 ;

? ? ? ? ? ? ?^~~~~~~~~~~~~~

-24576



正在回答

1 回答

int是4個字節,32位bit(1位符號+31位數字),取值范圍(+2,147,483,647? ?~? -2,147,483,648),你的變量int a = 10000000000000 大于int的上界所以報錯;

2 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

強制轉換也是不行的!

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號