首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

定义一个有参宏MUABS(x),求参数兄弟绝对值。小弟我写的这个程序对不。该怎么改才好

2012-05-07 
定义一个有参宏MUABS(x),求参数兄弟绝对值。我写的这个程序对不。该如何改才好?#define MYABS(x) (x-x)#inc

定义一个有参宏MUABS(x),求参数兄弟绝对值。我写的这个程序对不。该如何改才好?
#define MYABS(x) (x=-x)
#include "stdio.h"
#include "conio.h"
void main()
  {int x;
  printf("input a numbers x=");
  scanf("%d",&x);
  if(x<0)
  MYABS(x);
  printf("x=%d\n",x);
  getch();
  }

[解决办法]
对的啊
[解决办法]
MYABS(x) ((x)=(x)>0?(x):(-(x)))
[解决办法]
#define MYABS(x) (x)=(-(x)) 宏里面的变量操作需要增加括号,以防止被修改或误操作


[解决办法]

C/C++ code
#include <stdio.h>#include <conio.h>#define MYABS(x) ((x)>=0?(x):(-(x)))void main() {    int x;    printf("input a numbers x=");    fflush(stdout);    if (1==scanf("%d",&x)) {        printf("MYABS(%d)==%d\n",x,MYABS(x));    }    getch();} 

热点排行