1. 程式人生 > >不允許用(a+b)/2這種方式求兩個數的均值;如下程序在Linux和32位集成開發環境中運行

不允許用(a+b)/2這種方式求兩個數的均值;如下程序在Linux和32位集成開發環境中運行

left 定義 inf log post efi mage 技術 def

#define MAX(a,b) ((a)>(b)?(a):(b))

#include<stdio.h>

int main()

{

int a = 10;

int b = 20;

int c = 0;

int arevage = 0;

c = MAX(a,b);

arevage = c + (a - b)/2;

printf("%d\n",arevage);

return 0;

}

arevage可以用來定義變量嗎

為什麽 int arevage = 0;可以在windows環境中運行,而在Linux中進行編譯時出錯技術分享圖片

//此代碼在windos32 位運結果與linux運行結果不一致

技術分享圖片

技術分享圖片

不允許用(a+b)/2這種方式求兩個數的均值;如下程序在Linux和32位集成開發環境中運行