如下程序代码,所有错误的语句是________。 ①const int v = 100; ②const int m = 200; ③int * pv1 = &v; ④const int * pv2 = &v; ⑤int * const pv3 = &v; ⑥const int * const pv4 = &v; ⑦pv2 = &m; ⑧*pv2 = m; ⑨pv4 = &m; ⑩*pv4 = m;请详细解释每一个序号
时间: 2024-04-28 08:20:51 浏览: 93
错误的语句是:⑧、⑨、⑩。
①const int v = 100;声明了一个常量整型变量v,其值为100,不能被修改。
②const int m = 200;声明了一个常量整型变量m,其值为200,不能被修改。
③int * pv1 = &v;声明了一个指向整型变量v的指针pv1,v是一个常量整型变量,但pv1不是常量指针,可以修改所指向的变量的值。
④const int * pv2 = &v;声明了一个指向常量整型变量v的指针pv2,v是一个常量整型变量,pv2是一个指向常量的指针,不能通过pv2修改所指向的变量的值。
⑤int * const pv3 = &v;声明了一个指向整型常量v的常量指针pv3,pv3是一个常量指针,不能修改所指向的变量的地址,但可以通过pv3修改所指向的变量的值。
⑥const int * const pv4 = &v;声明了一个指向常量整型变量v的常量指针pv4,pv4是一个指向常量的常量指针,不能修改所指向的变量的地址和值。
⑦pv2 = &m;pv2是指向常量的指针,不能修改所指向的变量的值,但可以修改所指向的变量的地址,因此这句话是正确的。
⑧*pv2 = m;pv2是指向常量的指针,不能修改所指向的变量的值,因此这句话是错误的。
⑨pv4 = &m;pv4是一个指向常量的常量指针,不能修改所指向的变量的地址,因此这句话是错误的。
⑩*pv4 = m;pv4是一个指向常量的常量指针,不能修改所指向的变量的地址和值,因此这句话是错误的。
相关问题
int型 public 成员变量 MAX_LENGTH,该值保持为常数100,则定义这个常量的语句是( )。 A、public int MAX_LENGTH=100 B、final int MAX_LENGTH=100 C、public const int MAX_LENGTH=100 D、public final int MAX_LENGTH=100
答案是 D、public final int MAX_LENGTH=100。
在Java中,可以使用关键字`final`来定义常量。常量的值不能被修改,因此必须在定义时进行初始化。`public`关键字表示该常量是公共的,可以被其他类访问。因此,正确的定义语句为`public final int MAX_LENGTH=100`。
对于公有成员MAX_LEN,该值保持为常数100,则定义该变量的语句是( )。 A、public int MAX_LEN=100 B、final int MAX_LEN=100 C、public const int MAX_LEN=100 D、public final int MAX_LEN=100
选项 D 是正确的。在 Java 中,定义常量应该使用 `final` 关键字,同时为了使常量对外可见,需要使用 `public` 关键字进行修饰。因此,应该使用 `public final int MAX_LEN = 100` 来定义一个公有成员 `MAX_LEN`,并将它的值设置为 100。选项 A 中缺少了 `final` 关键字,因此 MAX_LEN 可以被修改。选项 B 中使用了正确的 `final` 关键字,但没有使用 `public` 关键字,因此不能保证对外可见。选项 C 中使用了 `const` 关键字,但在 Java 中没有 `const` 关键字,应该使用 `final` 关键字来定义常量。因此,选项 D 是正确的。
阅读全文