永发信息网

c语言问题 以下两段代码 最后再打印 左边的都打印出来了 右边的只有b的值

答案:1  悬赏:40  手机版
解决时间 2021-02-09 21:36
  • 提问者网友:爱唱彩虹
  • 2021-02-09 01:39
int *q int *q
char *p char *p
int a =1234 int a =1234
char b =“x” char b =“x”
q =& a q=(int*)&b
p=&b p= (char*)&a
1 书上说有强制类型转换 就是右边(xxx *)那 到底是指针被转换了 还是变量被转换了?
2 右边的只有b的值 书上说a<255 才行 为什么

q = &a
p= &b
最佳答案
  • 五星知识达人网友:玩世
  • 2021-02-09 01:57
1.是变量被转换了。
举个例子给你看:int a = 32;//32为系统中为4字节
char p = (char)a//即把4字节的a给强制类型转换成了1字节的了,然后赋值给p。
p= (char*)&a//即把变量的a的地址转换成了能被char 指针保存的形式。

2.char *p//虽然指针p本身是4字节。但是指向的类型是char类型为1字节(1字节最大数值为255).
所以说a<255。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯