#define MUL(A,B) A*B
int main()
{
inta=1,b=2,c=3,d=0;
d=MUL(a+b,c);
printf(“%d”,d);
return0;
}
这个程序输出是什么,为什么我运行不了。。还有这个
harch[]=“WelcometoXiyounet”
char*p=ch;
printf(“%c%c”,*(p+2),*p+2);
c语言c语言c语言c语言
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- threenewbee 2016-11-13 17:51关注
第一个程序,结果是7,在线验证 http://codepad.org/kJcc95Hr 解释下,因为宏替换只是简单的字符串替换,所以MUL(a+b,c);被替换为a+b*c,先算b*c,而不是a+b,所以是7 第二个程序,结果lY,在线验证 http://codepad.org/62uwXciR 因为*(p+2)先指针移动2个,也就是第三个字符,再得到值,所以结果是Welcome...的第三个字符l *p+2是第一个字符W+2,W的ascii码+2,是 Y,所以第二个输出Y
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 chaquopy python 安卓
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 有没有帮写代码做实验仿真的
- ¥15 報錯:Person is not mapped,如何解決?
- ¥30 vmware exsi重置后登不上
- ¥15 易盾点选的cb参数怎么解啊
- ¥15 MATLAB运行显示错误,如何解决?
- ¥15 c++头文件不能识别CDialog
- ¥15 Excel发现不可读取的内容
- ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题