我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

想请问大佬,这里输出为什么是1,不应该是0吗

#include<stdio.h>
#define SQR(X) X*X
main()
{
	int a=10,k=2,m=1;
	a/=SQR(k+m)/SQR(k+m);
	printf("%d\n",a);
}

 

 

这是除号,不是求余。

宏定义有个缺点是会直接代入,不会自动加括号,所以你这题a的运算实际上是

a = a / (k +m * k + m / k + m * k + m)

也就是a = a / (2+1*2+1/2+1*2+1)

即a = 10 / 7

因为a是整型,所以结果取整,答案为1 

近期文章

  • 为什么我这个通不过呢?
  • Verilog十字交通灯两个数码管怎么对应啊
  • 希望训练一个飞镖计分的模型,应该怎么入手
  • tensorflow输出报错
  • 如何制作自己的语言??
  • Python如何按照Windows的规则按文件名读取文件?
  • 为什么模仿别人的代码段,但自己的会有出错
  • 有关Tcp的堵塞窗口。
  • qt webkit 在arm平台 加载本地html loadfinished以后 空白显示
  • java 保存自定义表单vue form-create到数据库
  • qt中如何读取文件最后一行数据?
  • 开发的APP只有客户端,正在添加内购功能,如何填写回调地址?
  • 多线程加lock锁后为什么每次执行的都是同一个线程
  • feign远程调用问题???????????
  • iframe父子页面用postMessage传递消息信息丢失问题
  • VUE 加载组件 显示方向反
  • 艹蛋的js错误 头大 prototype的
  • 沈阳java开发两年半11K什么水平?
  • Android原生VLAN功能验证失败,被裁剪了还是有bug呢?
  • 上传文件使用MultipartFile,tmp文件未自动删除

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华