D
stu 数组有三个对象 stu[0] stu[1]罚stu[2]
stu[3]超出了数组范围
A.赋值号左边只能是变量,不能是表达式B,取模运算的数据只能是整型,a强制转换成整型,但b为实型,整型加实型为实型
D,int型变量在内存中占的空间比double型少,所以不能把a,b的值赋给w
指针变量 pt 指向 a 数组!
*pt 相当于 a [0];
*(pt + 1) 相当于 a[ 1];
亥 *(pt + 1)[2] 相当于 *(pt + 3);
* (pt + 3) 等价于 a[3];
显然 a[3] 不存在! 所以 选项 B 非法!
A是赋值语句,句子和句子之间用分号隔开。而D是强制性转化,应该写成稜int)x。C中,c语言是允许这样赋值的,但是最后缺分号。至于B的话,其实,a,b都没有初始化,是一个任意值,不过语法来说的话,B是正确的相当于b=b加1
x=2*(N+Y(5+1))
=2*(3+Y(5+1))
=2*(3+((3+1)*5+1) 这里注意,n没有被括号,所以乘法优先
=2*(3+20+1)
=48
错误的是:A* 的指针定义符,说明 p 是一个 double 类型的指针。不是什么简址运算符,而它用在指针变量前是间接引用 符。
这里的“错误”是指语法上的错误。*q=0;程序会crash。其他都是合法的赋值语句。(不是相等哦)。
答案C是错误的。
选c
因为字符串末尾自动加个'/0' 意义是“字符串结束符” 所以是11字节
A
strp[4];定义的是指针数组。通过循环对数组的每个元素赋值,分别指向数组的每一行。A) strp 表示的是一个数组名,而这个数组的类型是指针,因此strp指向的是第一个指针变量的地址。这是我的理解。
上一篇:潋滟近义词是什么
下一篇:形容时间与流水的四字成语