问题 单项选择题

设有定义:char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是( )。
A) charstr[]="string";c=str; B) scanf("%s",c);
C) c=getchar(); D) char str[]="string";strcpy("C,str")

答案

参考答案:A

解析: 在题目的题干中定义了字符指针变量c,在选项A)中,首先定义字符数组str,然后再把字符数组str的首地址赋给字符指针变量c。所以选项A)是正确的。在选项B)中,应改成scanf("%s”,&c);在选项C)中,getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕,如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。即c只能指向一个字符而不能指向字符串。在选项D)中,strcpy函数只是将str字符串中的内容赋给c,并没有使其指向str,所以选项D)是错误的。

单项选择题
单项选择题