第1个回答 2013-12-14
在定义里q被定义为指向整型数据的指针变量,n被定义为整型变量。C语言规定指针变量只能赋予数据的地址,不能赋予其他任何数据。所以A是错误的。
B ,p、q都是指向整型数据的指针,所以可以互相赋值。
C,*p、*q表示的都是整型数据,所以可以互相赋值。
D,n、*q也都是整型数据,所以可以互相赋值。
第2个回答 2013-12-14
很简单,q的类型是int*,n的类型是int,这两个之间不能互相赋值。
第二个,前后类型都是int*
第三个,前后类型都是int
第四个,前后类型都是int
第3个回答 2013-12-14
int *p=&n == p=&n
int q=p == q=&n
*p是一个指针, 指向的是地址不是变量值。如果强行把2作为地址赋给指针,程序继续进行下去的话,很可能会篡改地址2的值,这是非法的地址修改,因为你无法预料地址2是给谁的。
第4个回答 2013-12-14
q是 int*,n是int,类型不兼容。
第5个回答 2013-12-14
n 是int类型,q 是指针类型,不能直接赋值,要赋值要加引用 *q=&n