使用 #define 定义数字的平方

2023-11-30

我只是在浏览面试中经常被问到的某些代码。我提出了一些问题,是否有人可以帮助我解决这个问题?

我现在对此完全困惑

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

#define square(x) x*x

main()
{
      int i, j;
      i = 4/square(4);
      j = 64/square(4);
      printf("\n %d", i);
      printf("\n %d", j);
      printf("\n %d", square(4));
      getch();
}

输出是:

 4
 64
 16

我想知道为什么square(4)我划分时返回1?我的意思是,我怎样才能获得价值4 and 64当我划分它时,但是当直接使用时我得到16!!?


square是在括号下面的:它在文本上扩展,所以

#define square(x) x*x
   ...
i=4/square(4);

means

i=4/4*4;

哪些组为(4/4) * 4。要修复,请添加括号:

#define square(x) ((x)*(x))

仍然非常不确定#define正如它评估的那样x两次,所以square(somefun())调用该函数两次并且执行not因此,当然必须计算平方,而是计算两次连续调用的乘积;-)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 #define 定义数字的平方 的相关文章

随机推荐

  • Visual Studio 不再打开 Winforms 的图形编辑器

    我正在构建非常小的 15 分钟应用程序 它可以帮助我和我的同事完成简单的日常业务工作 为此 我经常使用 WinForm 因为它非常快 只需制作一个带有 2 个文本框和一个提交按钮的窗口 不幸的是 最近我想我按下了一个按钮 图形编辑器将不再打
  • 如何在android中获取准确的UTC时间戳

    我不知道哪一个适合获取 UTC 时间 我的代码是 System currentTimeMillis 对于 java 安卓 国际化的结果正确吗 也许用户可以更改设备时间并且结果会有所不同 对UTC有影响吗 在Linux平台上 系统时钟应设置为
  • 在本地 NTFS 驱动器上查找回收站

    我正在尝试编写一些简单的代码 该代码将返回本地驱动器上回收站的目录 看起来很简单 谷歌上应该有一千个答案 还没找到 我发现 FAT 和 NTFS 驱动器具有不同的基本名称 RECYCLED 和 RECYCLER 我发现 回收站 是一个虚拟文
  • Kmeans 对 pandas 数据框中的每个组进行聚类并分配聚类

    我想通过使用 kmeans 聚类对组月的 X2 和 X3 进行聚类 我需要对两个变量进行聚类 另外 我想根据每个簇的平均值将簇 0 簇 1 和簇 2 分配为 强 平均 弱 最高意味着强簇 下面是我的示例数据集 df pd DataFrame
  • 如何将 JSON null 反序列化为 NullNode 而不是 Java null?

    注意 杰克逊 2 1 x 问题很简单 但到目前为止我找不到解决方案 我浏览了现有文档等 但找不到答案 基类是这样的 JsonTypeInfo use Id NAME include As PROPERTY property op JsonS
  • 使用自定义 Cordova 插件将本机 iOS 事件绑定到 webView

    我必须创建一个插件来捕获 iOS 应用程序的 Cordova webView 中发生的事件并触发应用程序本机部分中的操作 反之亦然 我已关注本教程它工作完美 当我尝试将其适应另一个应用程序时 我希望它比教程更通用 它从 webView 到本
  • mysql 查询 - 输出的日期格式?

    在我的表中 日期存储如下 2011 03 03T13 30 00 我正在尝试输出这样的日期 2011 年 3 月 3 日下午 1 30 我更愿意将其放入查询中 而不是使用 php 来格式化它 但我在这方面遇到了一些困难 尝试 DATE FO
  • R:有什么方法可以在 Windows 中自动更新我的 R 吗?

    是啊 我懒得去下载最新版本的包了 我想知道如何设置我的 R 或者是否有一些代码可以让我在 Windows 中自动更新我的 R 如有任何帮助 我们将不胜感激 也许这会帮助你解决你的问题 installing loading the packa
  • 如何以编程方式获取美国州际公路出口的纬度和经度?

    有没有办法使用开源地图 API Google Map API Microsoft Live Map API 来做到这一点 或者有没有办法从地图文件遍历道路和交叉路口 如果我购买商业地图数据 Thanks 编辑 开源或API 基于 opens
  • 如何在 React 中引用本地图像?

    如何从本地目录加载图像并将其包含在reactjs img src tag 我有一张图片叫one jpeg在与我的组件相同的文件夹中 我尝试了两者 img src one jpeg and img src 在我里面render功能正常 但是图
  • 为什么当类返回 Lambda 时反射不起作用

    我遇到了一种有点奇怪的行为 我使用注释来标记具有特定用途的某些类 然后使用 org reflections 库查找具有特定注释的所有类 然而 当一个类实现一个返回 lambda 函数的方法时 反射将不再找到带注释的类 类的签名没有改变 注释
  • 如何自定义 Jersey JAXB 序列化的 XML 输出

    我有一些 javax xml bind annotation Xml 带注释的类 用于 REST Web 服务 Jersey 设置在 Spring 管理的 Web 容器中 并且 Web 服务返回格式良好的 xml 我们使用 maven en
  • Joomla 登录重定向回上一页

    我有某些页面需要用户登录 Joomla 当他们单击这些页面的链接时 iframe 覆盖层中会出现一个登录框 一旦他们登录 我想将他们重定向回他们尝试登录的页面 但是 Joomla 似乎只允许用户重定向到登录表单参数中预定义的页面 有没有办法
  • 通过单独的任务更新 BindingSource 中的元素

    我有一个类 比如 Person 有一个 ID 和一个名字 此类正确实现了 INotifyPropertyChanged 补充 有些人要求Person类 我真正的问题是一个更复杂的类 我已将其简化为一个相当简单的 POCO 以确保这不是因为我
  • 如何通过 WebAssembly 将 Rust 闭包返回给 JavaScript?

    的评论关闭 rs非常棒 但是我无法让它从 WebAssembly 库返回闭包 我有一个这样的函数 wasm bindgen pub fn start game start time f64 screen width f32 screen h
  • 真实的 iPhone 设备上有类似“getStreamsToHost”的东西吗?

    我想使用苹果的示例代码将 NSOutputStream 写入服务器 NSURL website NSURL URLWithString str IP NSHost host NSHost hostWithName website host
  • 如何使用文本框中的 onchange() 事件获取旧值

    我有一个文本输入 当页面加载时 一个值会被填充到其中 如果用户更改文本框中的任何内容 那么我想获取更改后的值 新值 和旧值 但打电话ELEMENT value它只返回更改的 新的值 我如何获得旧值 这是我的代码
  • Python请求错误10060

    我有一个抓取网站的脚本 直到今天它运行完美 但现在不这样做了 它给中小企业以下错误 Connection Aborted Error 10060 A connection attempt failed becvause the connec
  • 用于查找带有自己的 Java 版本的应用程序的 Powershell 脚本

    我正在寻找一种方法来从所有已安装的应用程序中查找 一个带有自己的java版本的应用程序 网上有一些脚本可以查看 PC 上安装的版本 但没有脚本可以获取使用 Java 的应用程序以及它们所拥有的 Java 版本 我发现与使用系统资源管理器很接
  • 使用 #define 定义数字的平方

    我只是在浏览面试中经常被问到的某些代码 我提出了一些问题 是否有人可以帮助我解决这个问题 我现在对此完全困惑 include