本文目录一览:
C语言,答案为什么选B?谢谢
变量的作用域问题。printf 中的 i 是 int i = 3 的时候声明的 i。
int i = 5 的 i 一直有效,int f1 中的 i ,操作的是 main 上面的 int i = 5 时声明的 i。
但在 main 的 {} 中,int i = 5 的 i 被 int i = 3 的 i 掩盖了。声明了 int i = 3 之后,main 里面操作的 i 是这个 i。
当碰到 main 里面的 {int i = 10; i++; } 时,在这对 {} 中又声明了一个 i,这时候在 {} 里面的 i++ 是操作这个 i。但这个 i 作用域只在 {} 中,离开右边的 } 其生命周期就结束了。
所以 i += 1操作的是 刚进 main 时声明的 int i = 3 的 i。printf 中的也是,所以答案是 B,显示 4
c语言这道题为什么选B麻烦详细说明一下?
外层循环循环2次,每次执行2次x++
内层循环执行3次,但是当j不能被3整除时不执行x++,即只有在j==0的时候才执行x++
所以x++共执行了,2*2+2*1=6次,应该选择C
c语言为什么选b
因为B正确呀,int a[N];是声明一个名为a的int型数组,元素个数是N,要求N是常数;这都符合啊。
A错——N是已经宏定义的符号常量,不能被再赋值。
C错——M是变量,声明数组时[]中不得是变量,得用常量。
D错——与A一样,不能为常量再赋值。
C语言问题 为什么选B,过程求解
\’是转义字符,就表示单引号字符表示。所以第一个和最后一个输出的字符都是‘。
%7s输出字符所占的空间,7s表示占7个位置, 不足的不空格,大于的则原样输出。所以=和hello之间有两个空格。
综上,最后输出的内容为
‘s1= hello’,答案为B。
请采纳,谢谢。
c语言我不明白为什么选b
在++b中,++称为前自加。
在b++中,++称为后自加。
其计算效果均为操作数自加一。
当单独一个语句的时候没有区别,如果用在表达式中:
b++是先取b的值做计算,再自加;
++b是先自加,再取b的值做计算。
比如
int b = 2, j;
如果
j = b++;
那么先取b的值赋值给j,于是j值为2,b值再自加,b=3。
如果
j = ++b;
那么b先自加,得到b=3,然后再取b值计算,j值为3.
C语言 第7题为什么选B
因为 s 是2维数组。char s[2][40]={"China","English"};
s[1] 是 字符串 "English" 的首地址, 这个地址 与字符 'E' 的地址 s[1][0] 相等。所以选 B.
A 显然是不对的,它的第一个下标超界了。C 多了 求地址运算符。
D 的 (s[1]+1) 是错的表达式,因 要求 左值,若是 (s[1][1]) 则语法对,可是地点错了。