大学C++问题。第15题求:B为什么错了?还有D是什么意思?
展开全部
就是B错了。
*b=&a 就是定义一个字符指针b,它是指向字符变量a的地址。
**c=&b 其中,**c就是地址的地址,也就是一个变量,**是可以抵消的,就好像*和&是可以抵消的一样。&b就是代表b指向的地址所存储的变量。因为b就是指针,对一个指针取址,就是代表这个指针所指向的变量。明白了这一点,ABCD就很好判断了。正确的不说,B中,a==*c 题干中定义的是**c,c就是代表的变量。并不是指针,**只是干扰的,判断变量a和一个*变量是否相等,肯定是错误的。墨迹了好多。希望你能明白。
*b=&a 就是定义一个字符指针b,它是指向字符变量a的地址。
**c=&b 其中,**c就是地址的地址,也就是一个变量,**是可以抵消的,就好像*和&是可以抵消的一样。&b就是代表b指向的地址所存储的变量。因为b就是指针,对一个指针取址,就是代表这个指针所指向的变量。明白了这一点,ABCD就很好判断了。正确的不说,B中,a==*c 题干中定义的是**c,c就是代表的变量。并不是指针,**只是干扰的,判断变量a和一个*变量是否相等,肯定是错误的。墨迹了好多。希望你能明白。
展开全部
c是二级指针,*c的内容应该为一级指针char*,和a类型char不符,无法比较。
&a=*&b,令a的地址等于b的地址的内容,相当于&a=b。a是一个变量,这样强行改变a的地址的操作是非常野蛮的,很可能导致意想不到的后果。虽然在此例中b就指向a的地址,实际上执行的是&a=&a,不会产生影响,但不代表其他程序也不会产生后果。这种语句虽然从语法上是正确的,但操作是绝对错误的,是绝对需要被禁止的。
&a=*&b,令a的地址等于b的地址的内容,相当于&a=b。a是一个变量,这样强行改变a的地址的操作是非常野蛮的,很可能导致意想不到的后果。虽然在此例中b就指向a的地址,实际上执行的是&a=&a,不会产生影响,但不代表其他程序也不会产生后果。这种语句虽然从语法上是正确的,但操作是绝对错误的,是绝对需要被禁止的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询