wlbk.net
当前位置:首页 >> #inCluDE<stDio.h> #DEFinE X 5 #DEFinE Y X+1 ... >>

#inCluDE<stDio.h> #DEFinE X 5 #DEFinE Y X+1 ...

答案是7和5a应该没问题,问题在z吧要注意的是#define z y*x/2并不是把y=6,x=5直接代入计算而是要把y=x+1整体代入也就是z=x+1*x/2(而且这里的x+1没有括号)然后把x=5代入,得到z=5+2=7

Y=X+1 那么Z=x+1*X/2 这个x+1没有括号 Z=5+1*5/2=7.5%d是十进制整数 最后输出7

#includeint main(){int n,i=1,j=1,sum=0; /*i为循环变量,j为n!, sum为总和 */ printf("请输入n的值:\n"); scanf("%d",&n); while(i 评论0 0 0

#define SUB(X,Y) (X+1)*Y先更正一下,这里应该是define而不是include,宏定义.a++和b++是后置加的单目运算,会在printf语句执行后再完成+1,也就是printf输出的是3和4,之后a、b编程4和5.因为SUB是宏,这里没有参与运行顺序的问题,因为宏是在编译前替换的,如果SUB是函数,那么顺序是SUB -> printf -> a++,b++

这里是宏定义而宏定义的规则是直接带入也就是f(5+2,4+1,25)=5+2*4+1-25没有括号哦计算=5+8+1-25=14-25=-11

1. 首先要清楚 #define 宏定义并不会有任何的计算发生,只是单纯的将替换文本其看成字符串.如下#include <stdio.h>#define A 3+3 int main() { printf("%d",A*A); return 0; }结果是15 原因是宏定义并非计算A为3+3的值,而是仅仅将'3' ,'+' ,

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.wlbk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com