永发信息网

C语言中main() {int xl

答案:6  悬赏:50  手机版
解决时间 2021-02-21 17:28
  • 提问者网友:不爱我么
  • 2021-02-21 09:07
scanf(''%d'',&x)l
if(x++>5) printf(''%d'',x);
else printf(''%d\n'',x--);
}
为什么结果是7和5 最后的5是怎么得来的?
输入6时经过x++后第一个printf后输出是7,而输入4时经过IF条件里的x++后得5 那经过第二个prinrf后的x-- 为什么结果不是4呢 而是5!
最佳答案
  • 五星知识达人网友:玩家
  • 2021-02-21 10:04
你好。是这样的。
输入6时经过x++后第一个printf后输出是7应该没什么疑问了。
输入4时。经过IF条件里的x++后得5。但是x++的返回值是4。
后增后减的返回值都是自身。operator++或operator--的后增形式实际是先在函数内定义一个临时变量。将自增自减前的值赋给临时变量。然后自增或自减。最后返回的是临时变量的值。
因此。执行else printf(''%d\n'',x--);时x值为5,其返回值就是5.所以输出5.
全部回答
  • 1楼网友:撞了怀
  • 2021-02-21 14:55
执行了上面的if就不会执行下面的else,没执行if就执行else好理解了吧。
  • 2楼网友:傲气稳了全场
  • 2021-02-21 14:20
当你输入6时,经过判断语句if(x++>5)后,x=7,显然printf("%d",x);结果为7 当你输入4时,经过判断语句if(x++>5)后,x=5,显然printf("%d",x--);结果为5 其实就是只要程序经过if(x++>5)语句后,不管判断的结果成立与否,x都会自增1.
  • 3楼网友:神的生死簿
  • 2021-02-21 12:52
x++ x-- 这种放后面的自增,自减,都是x 先不变,比较或者输出完之后(当前语句执行完了),再自增或者自减
  • 4楼网友:一叶十三刺
  • 2021-02-21 11:34
#include<stdio.h> int main(void) { \*程序*\ return 0; } int 是函数的返回值类型,void是main函数的参数为void类型, 最后的返回值最好有return 0;
  • 5楼网友:从此江山别
  • 2021-02-21 10:21
因为x-- 的意思是运算完了再减,所以先输出再减1,你可以这样验证: scanf(''%d'',&x)l if(x++>5) printf(''%d'',x); else printf(''%d\n'',x--); printf("%d",x); // 此时x=4.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯