• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

最后得的结果应该是D还是B?

有以下程序

#include  
main()
{ int a = -2, b = 0;
while (a++ && ++b) ;
printf("%d,%d\n", a, b );
}
程序运行后输出结果是
A) 0,2
B) 0,3
C) 1,3
D) 1,2

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

B。
前置++是本身+1之后再判断;后置++是先判断,之后再+1
望采纳~

使用道具 举报

第一个要认清楚 while ( ); 后面直接引号了看到没,代表当while 括号里面的表达式为真时,循环执行,括号里表达式为假时,跳出循环,而没有大括号循环体,代表空语句,也就是当while( )括号里的表达式为假时,才执行打印a, b
第二个就是自增自减
a++;这样的一个语句,表达式a++表示我这个表达式的值等于a,再把a+1,这样在这个语句的下面再调用a的话,a会比原来多1
b=a++; b的值和a相等,这个表达式的值等于a。
++a;这样的语句表示这个表达式的值为a+1,之后的语句再调用a的话,a的值比原来多1,
b=++a; 相当于b=(a+1) 这个表达式的值等于a+1
第三个就是逻辑运算,计算机中 且运算,表达式1&&表达式2; 且运算必须两个表达式为真时,才算成立。计算机有个特点,当表达式1成立时,直接判定语句为假,不再进行表达式2 体现计算机的运算快!
只能提示到这里了,正确答案是D. 不懂继续问。

使用道具 举报

发新帖

发布任务需求已有1031289位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!