爱问知识人 爱问教育 医院库

C语言高手麻烦进来一下

首页

C语言高手麻烦进来一下

设static int a;,执行表达式(a= =1)&&(a=-1)&&(a=2)后,a的值是( )
A.-1 B.0 C.1 D.2
这题选B
log p(long j)
{static long k=1L
k=j*k;
return(k);
} 为什么这个 K的值可以变呢?上面的为什么又不可以?

提交回答

全部答案

    2018-07-28 01:22:53
  • 第一题是0
    首先定义静态整形变量a
    但是没给a初始化 也就是说a的值现在是0
    然后执行&&语句 首先(a= =1)&&(a=-1)的值为假
    然后后面也是&&运算符
    C语言假&&任何 都是假
    同理 如果真||任何 都是真一样的道理
    所以他不会执行(a= =1)&&(a=-1)&&(a=2)后面的a=2
    所以输出的就会是a的静态默认值0
    下面的应该是
    long p(long j)
    {static long k=1L;k=j*k;return(k);}
    这里的静态长整形变量k被初始化为1了
    所以结果会变的

    l***

    2018-07-28 01:22:53

类似问题

换一换

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 177-196
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):