C语言中的问题 B选项为什么错了?

您好,很高兴回答您的问题。
根据您的描述,a,b均定义为整型变量,同时给a赋初始值为3,p是指向整型变量的指针变量,并且同时把a的地址赋值给p。
因为a是整型变量,所以&a表示a的地址,*&a表示取出a的地址中的值,那么根据题意就是3;答案c表示把a的值赋值给b,就是通常最常用的变量间的赋值,所以结果为3;D答案中因为p为指向变量a的地址,那么*p就是取出p这个地址中的变量值,所以结果也是3;只有B的答案不争取,因为a本身就是整型变量,所以不存在*a的书写形式,所以B是错误的得不到3的结果。

b=*a,是将a的值当地址,取这个地址(3)里面存放的数值。不一定这个值是3.

B选项b=*a中,因为a是整型变量,不是指针变量,不能写成*a,编译错误。



b =*a,的意思是地址为a的地方保存的值赋给b,地址为a的地方保存的值

while语句 while :它用来实现"当型"循环结构。其一般形式如下:

关于c语言条件表达式的问题 b选项为什么是错的?

while语句 while :它用来实现"当型"循环结构。其一般形式如下: WHILE(表达式)语句 当表达式为非0值时执行WHILE语句中的内嵌语句。其特点是:先判断表达式,后执行语句。 do...while语句: do 语句 while(表达式)第一次执行一个语句块,然后重复循环的执行该语句块, 直到条件表达式等于 false

*p是p指针指向的目标int型变量,&n是变量n的地址,把一个地址赋给一个int型变量肯定是错误的!