首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

不使用加減乘除實現加法:利用指標地址運算巧妙求和

     編輯:關於C語言

不使用加減乘除實現加法:利用指標地址運算巧妙求和

int add(int a, int b) {
    char *c = (char *)a;   // 將 a 視為地址
    return (int)&c[b];     // 取 c 偏移 b 字節後的地址值
}

原理:指標算術中 &c[b] 等價於 c + b * sizeof(char)。由於 sizeof(char)==1,結果地址為 a + b。再強轉為 int 即得和值。例:a=5, b=10,c=0x5,&c[10]=0xF,返回 15。屬於編程技巧展示,實際項目中不建議使用(未定義行為風險、可讀性差)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved