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

admin2022-10-24  35

问题 设有定义“char *c;”,以下选项中能够使c正确指向一个字符串的是(          )。

选项 A、char str[]="string";c=str;
B、scanf("%s",c);
C、c=getchar();
D、*c="string";

答案A

解析 A选项为正确用法,先将字符串存于字符数组中,然后将数组名赋给字符指针(数组名代表数组首地址,定义数组时为其分配确定的地址)。C选项错误,getchar函数输入一个字符给字符变量,而不是字符指针。B选项和D选项有类似的错误,两个选项并无语法错误,但运行时可能会出现问题。因为在B选项和D选项中,字符指针没有被赋值,是一个不确定的值,指向一个不确定的内存区域,这个区域可能存放有用的指令或数据。在这个不确定的区域重新存放字符串,可能会发生无法预知的错误。故本题答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/9Xkp777K
0

最新回复(0)