#include <stdio.h>
#define MOD(x,y) x%y
int main()
{
int a=13,b=94;
printf("%d\n",MOD(b,a+4));
return 0;
}
为什么则个程序在vscode windows环境下输出的结果是 7 ,而我自己计算的是9,问了ai得到的是8
#include <stdio.h>
#define MOD(x,y) x%y
int main()
{
int a=13,b=94;
printf("%d\n",MOD(b,a+4));
return 0;
}
为什么则个程序在vscode windows环境下输出的结果是 7 ,而我自己计算的是9,问了ai得到的是8
#define MOD(x,y) x%y 是宏替换,不是函数,所以MOD(b, a+4) 就被替换为 b % a + 4 。实现正确功能的写法: #define MOD(x,y) (x)%(y)