小编Nir*_*rav的帖子

C编程#define?

可能重复:
任何人都可以解释这些未定义的行为(i = i ++ + ++ i,i = i ++等...)

#include<stdio.h>
#include<conio.h>

#define SQ(x) x*x

void main()
{
   int a1 , a2;
   int b1 , b2;

   a1 = 2;
   a2 = 2;

   b1 = 0;
   b2 = 0;

   b1 = SQ(a1++);
   b2 = SQ(++a2);

   printf("Frist = %d",b1);
   printf("Second = %d",b2);
}
Run Code Online (Sandbox Code Playgroud)

我知道代码的输出是什么.

因为#define在其他程序中工作,所以它不能在上面的代码中工作为什么.?

c macros undefined-behavior

5
推荐指数
2
解决办法
1401
查看次数

标签 统计

c ×1

macros ×1

undefined-behavior ×1