题目详情

阅读下面C语言程序,请给出正确输出结果( )。#includeimage.pngstdio.h>#define N 10#define s(x) x*x#define f(x) (x*x)#define g(x) ((x)*(x))main(){ int i1, i2, i3, i4; i1=1000/s(N); i2=1000/f(N);i3=f(N+1);i4=g(N+1);printf(“i1=%d, i2=%d, i3=%d, i4=%d\n”,i1,i2,i3,i4); }

  • A.i1=1000,i2=10,i3=21,i4=121
  • B.i1=10,i2=10,i3=121,i4=121
  • C.i1=1000,i2=1000,i3=21,i4=21
  • D.i1=10,i2=1000,i3=121,i4=21

正确答案及解析

正确答案
A
解析

本题考查宏概念,以及宏替换相关基础知识。表达式1000/s(N)宏替换后为:1000/10*10,因此结果为1000,而不是期待10。表达式1000/f(N)宏替换后为:1000/(10*10),因此结果为10,是期待结果。表达式f(N+1)宏替换后为:(10+1*10+1),因此结果为21,而不是期待121。表达式g(N+1)宏替换后为:((10+1)*(10+1)),结果为121,是期待结果。因此,题中程序运行结果为“i1=1000,i2=10,i3=21,i4=121”。

你可能感兴趣的试题

单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.0
  • B.1
  • C.2
  • D.3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.1、1
  • B.1、2
  • C.2、2
  • D.2、3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.3
  • B.4
  • C.5
  • D.6
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.V(S3)和V(S5)V(S6)
  • B.P(S3)和V(S5)V(S6)
  • C.V(S3)和P(S5)P(S6)
  • D.P(S3)和P(S5)P(S6)
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.243ms
  • B.246ms
  • C.254ms
  • D.280ms
查看答案

相关题库更多 +