目录: 标题| 题干| 答案| 搜索| 相关
问题

设有定义:char*C;以下选项中能够使C正确指向一个字符串的是( )。


设有定义:char*C;以下选项中能够使C正确指向一个字符串的是( )。

  • Achar str( )=”string”;C=str;
  • Bscanf(”%s”,C.;
  • Cc=getchar( );
  • D*c=”strin9”;
参考答案
参考解析:

A选项为正确用法,先将字符串存于字符数组中,然后将数组名赋给字符指针(数组名代表数组首地址,定义数组时为其分配确定地址)。C选项错误,getchar()函数只能输入一个字符给字符型变量,而不是字符指针。B选项和D选项有类似的错误,两个选项并无语法错误,但运行时可能会出现问题。因为在B选项和D选项中,字符指针没有被赋值,是个不确定的值,指向一个不确定的内存区域,这个区域可能存放有用的指令或数据。在这个不确定的区域重新存放字符串,可能会发生无法预知的错误。因此A选项正确。

分类:其他
相关推荐

1、● 在 C 语言中,设有数组定义:char array[ ] = "Chin

● 在 C 语言中,设有数组定义:char array[ ] = "China";则数组 array 所占用 的空间为 (58) 。A(58) 4 个字节 B 5 个字节 C 6 个字节 D 7 个字节

2、设有以下语句:typedef struct TY{char C;int a{

设有以下语句:typedef struct TY{char C;int a{4 1;}CIN;则下面叙述中正确的是( )。ACIN是struct Tr类型的变量BTT是struct类型的变量C可以用,lr定义结构体变量D可以用CIN定义结构体变量

3、若在定义语句:int a,b,C,*p=&c;之后,接着执行以下选项

若在定义语句:int a,b,C,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。AA)scanf("%dft,a,b,c);BB)scanf("%d%d%d",a,b,c);CC)scanf("%d”,p);DD)scanf("%d",&p);

4、设有如下说明:typedef struct{int n;char c;dou

设有如下说明:typedef struct{int n;char c;double x;}STD;有以下选项,能正确定义结构体数组并赋初值的语句是( )。ASTD ttr2]={{1,A,62),{2,B,75}};BSTD tt[2]={1,"A...

5、已有定义,char c; ,程序前面已在命令行中包含ctype.h文件,不能

已有定义,char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是( )。Aisupper(B’A’<=c<=’Z’C’A’<=c&&c<=’Z’Dc<=(‘...

6、若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使

若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字const。()A正确B错误