A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#include <stdio.h>
main()

int sum,pad,pAd;
sum=pad=5;
pAd=++sum,pAd++,++pad;
printf(“%d\n”,pad);
}
请问这道题为什么答案是7 求解答 谢谢

13 个回复

正序浏览
答案是6吧
回复 使用道具 举报
我支持7#的意见
回复 使用道具 举报
本帖最后由 Asskicker 于 2015-5-18 10:19 编辑

++i 与 i++ 的区别  1、++i 的用法(以 a=++i ,i=2 为例)     
先将 i 值加 1 (也就是 i=i+1 ),然后赋给变量 a (也就是 a=i ),      
则最终 a 值等于 3 , i 值等于 3 。     所以 a=++i 相当于 i=i+1 ,a=i  
2、i++ 的用法(以 a=i++ ,i=2 为例)     
先将 i 值赋给变量 a (也就是 a=i ),然后 i 值加 1 (也就是 i=i+1 ),      
则最终 a 值等于 2 ,i 值等于 3 。     所以 a=i++ 相当于 a=i , i=i+1   
3、++i 与 i++     
a=++i 相当于 i++ , a=i        
a=i++ 相当于 a=i , i++  4、++i 与 i++ 单独使用时,相当于 i=i+1     
如果赋给一个新变量,则 ++i 先将 i 值加 1 ,而 i++ 先将 i 赋给新变量。
回复 使用道具 举报
Tuberose 来自手机 中级黑马 2015-5-17 23:51:28
11#
答案肯定是6,整个要求的运算就是pad自加1来自: iPhone客户端
回复 使用道具 举报
开玩笑吧!
回复 使用道具 举报

#include <stdio.h>
main()

int sum,pad,pAd;
sum=pad=5;
pAd=++sum,pAd++,++pad; //pAd=1+sum=1+5=6,pAd为6在+1,++pad直接先+1  pad=6
printf(“%d\n”,pad);
}
回复 使用道具 举报
pad=6,pAd=7,sum=6
pAd因为pAd=++sum是6,pAd++是7
pad因为sum=pad=5,++pad等于6
sum因为sum=pad=5,++sum等于6
回复 使用道具 举报
本帖最后由   张恒宇 于 2015-5-15 22:03 编辑

这样说吧。。。。sum=pad=5;给是把5赋值给了pad.而在整个计算中只有++pad对pad有影响。。。。所以让pad先加一再调用,得出的结果是6.。。。你的7是错误答案!!!!
如果是printf("%d\n",pAd);那么输出就是7了。
回复 使用道具 举报
7这个答案是正确答案吗
回复 使用道具 举报
同样今天考试的路过,应该是6
回复 使用道具 举报
七这个答案是正确答案吗
回复 使用道具 举报
我也是啊。。。。
回复 使用道具 举报
今天摸底考试的题目,我基础差 这个做错了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马