您好,登錄后才能下訂單哦!
#include <stdio.h> char getChar(int x,int y) { char c; unsigned int a = x; (a + y > 10) ? (c = 1) : (c = 2); return c; } int main(void) { char c1 = getChar(7,4); char c2 = getChar(7,3); char c3 = getChar(7,-7); char c4 = getChar(7,-8); //c1 = 1 printf("c1 = %d\n", c1); //c2 = 2 printf("c2 = %d\n", c2); /*c3 = 2 無符號類型和有符號類型作運算, * 有符號類型會隱示轉換為無符號類型 * -7轉換后的無符號值加上7剛好上溢出,結果是0 */ printf("c3 = %d\n", c3); /* c4 = 1 * -8轉換后的無符號值加上7成為一個非常大的整數(差1就會溢出) */ printf("c4 = %d\n", c4); return 0; }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。