组词大全

已知定义char **s;,下列语句正确的是( )。 A. s="computer" B. *s="computer" C. **s="compute

已知定义char **s;,下列语句正确的是( )。 A. s="computer" B. *s="computer" C. **s="computer" D. *s='A'

在C语言中,char **s 定义了一个指向指针的指针。也就是说,s 是一个指向 char * 类型的指针。因此,选项的含义需要理解指针的操作。

逐一分析各个选项:

A. s = "computer";

错误:schar ** 类型,表示一个指向指针的指针,但 "computer" 是一个指向 char 的常量字符串。你不能直接将一个字符串赋给 char ** 类型的指针。

B. *s = "computer";

正确:这里,*s 是一个 char * 类型的指针,因此可以将 "computer" 赋值给 *s,也就是让 *s 指向字符串 "computer"。这个语句是合法的。

C. **s = "computer";

错误:**s 是一个 char 类型的值,而 "computer" 是一个字符串常量(指向字符数组的指针)。你不能将一个指向字符串的指针直接赋给一个字符类型的变量。

D. *s = 'A';

正确:*s 是一个 char * 类型的指针,因此可以将 *s 指向的第一个字符赋值为 'A'。这种操作是合法的。

综上,正确答案是 BD

成语首拼