问题
单项选择题
下列程序段中,不能正确赋值的是
A.char * p,ch;
p=&ch;
scanf("%c,&p")
B.char * p;
p=(char*)malloc(1)
scanf("%c",p);
C.char *p
*p=getchar( );
D.char *p,ch;
p=&ch;
*p=getchar( );
答案
参考答案:C
解析: 本题考查了字符的输入函数getchar和利用scanf函数输入一个字符。用scanf输入字符时,格式说明字符应该为%c。本题选项C)因为指针 p没有赋初值,所以是一个不定值,不能直接将getchar读入的字符赋给指针p所指向的字符,所以选项C错误。