若有定义char*p,ch;则不能正确赋值的语句组是 A p=&ch scanf(%c",p) B p=(char*)malloc(1) *p=getchar() C

C *p=getchar() p=&ch D p=&ch *pgetchar() 这种题怎么分析?????、

就是你必须了解指针的使用方法
1. 必须指向一个合法的内存,或者申请空间
如 p = &ch; 因为ch是一个有效的变量,p可以指向该变量的地址,这个可以
p 可以malloc 内存, 所以这个也可以
没有指向任何合法内存就赋值的肯定就是错的

所以C错
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-02
C是错的

因为在给*p赋值的时候没给p指向空间
其他3个都是先指定空间再赋值。

这样的题目分析也很简单,看看哪个和其他3个的处理顺序不一样就可以了阿本回答被提问者采纳
相似回答